From 559be889fa4b4aa7b281e3471ccf3efc45225de6 Mon Sep 17 00:00:00 2001
From: Karnovsky Alexander
Date: Tue, 3 Nov 2015 11:03:59 +0200
Subject: [PATCH] Init test-9
---
.bowerrc | 3 +++
.gitignore | 32 ++++++++++++++++++++++++++++++++
.htaccess | 35 +++++++++++++++++++++++++++++++++++
LICENSE.md | 32 ++++++++++++++++++++++++++++++++
README.md | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
backend/assets/AppAsset.php | 29 +++++++++++++++++++++++++++++
backend/config/.gitignore | 2 ++
backend/config/bootstrap.php | 1 +
backend/config/main.php | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
backend/config/params.php | 4 ++++
backend/controllers/ClientsController.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
backend/controllers/DepartmentsController.php | 121 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
backend/controllers/SiteController.php | 83 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
backend/controllers/TeamController.php | 302 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
backend/controllers/TeamSkilsController.php | 121 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
backend/models/.gitkeep | 1 +
backend/models/Clients.php | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
backend/models/ClientsSearch.php | 70 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
backend/models/Departments.php | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
backend/models/DepartmentsSearch.php | 68 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
backend/models/Team.php | 144 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
backend/models/TeamBooks.php | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
backend/models/TeamSearch.php | 85 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
backend/models/TeamSkils.php | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
backend/models/User.php | 73 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
backend/runtime/.gitignore | 2 ++
backend/views/adminlte/layouts/content.php | 235 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
backend/views/adminlte/layouts/header.php | 284 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
backend/views/adminlte/layouts/left.php | 79 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
backend/views/adminlte/layouts/main-login.php | 29 +++++++++++++++++++++++++++++
backend/views/adminlte/layouts/main.php | 65 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
backend/views/adminlte/site/error.php | 45 +++++++++++++++++++++++++++++++++++++++++++++
backend/views/adminlte/site/login.php | 70 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
backend/views/clients/_form.php | 39 +++++++++++++++++++++++++++++++++++++++
backend/views/clients/_search.php | 39 +++++++++++++++++++++++++++++++++++++++
backend/views/clients/create.php | 21 +++++++++++++++++++++
backend/views/clients/index.php | 40 ++++++++++++++++++++++++++++++++++++++++
backend/views/clients/update.php | 23 +++++++++++++++++++++++
backend/views/clients/view.php | 41 +++++++++++++++++++++++++++++++++++++++++
backend/views/departments/_form.php | 27 +++++++++++++++++++++++++++
backend/views/departments/_search.php | 33 +++++++++++++++++++++++++++++++++
backend/views/departments/create.php | 21 +++++++++++++++++++++
backend/views/departments/index.php | 36 ++++++++++++++++++++++++++++++++++++
backend/views/departments/update.php | 23 +++++++++++++++++++++++
backend/views/departments/view.php | 38 ++++++++++++++++++++++++++++++++++++++
backend/views/layouts/main.php | 93 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
backend/views/site/error.php | 27 +++++++++++++++++++++++++++
backend/views/site/index.php | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++
backend/views/site/login.php | 35 +++++++++++++++++++++++++++++++++++
backend/views/team/_form.php | 201 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
backend/views/team/_search.php | 67 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
backend/views/team/create.php | 21 +++++++++++++++++++++
backend/views/team/index.php | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
backend/views/team/skils/_form.php | 27 +++++++++++++++++++++++++++
backend/views/team/skils/create.php | 21 +++++++++++++++++++++
backend/views/team/skils/index.php | 34 ++++++++++++++++++++++++++++++++++
backend/views/team/skils/update.php | 23 +++++++++++++++++++++++
backend/views/team/skils/view.php | 38 ++++++++++++++++++++++++++++++++++++++
backend/views/team/update.php | 25 +++++++++++++++++++++++++
backend/views/team/view.php | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
backend/web/.gitignore | 2 ++
backend/web/assets/.gitignore | 2 ++
backend/web/css/site.css | 91 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
backend/web/favicon.ico | Bin 0 -> 318 bytes
backend/web/robots.txt | 2 ++
common/components/Request.php | 22 ++++++++++++++++++++++
common/config/.gitignore | 2 ++
common/config/bootstrap.php | 5 +++++
common/config/main.php | 17 +++++++++++++++++
common/config/params.php | 6 ++++++
common/config/rules.php | 7 +++++++
common/mail/layouts/html.php | 22 ++++++++++++++++++++++
common/mail/layouts/text.php | 12 ++++++++++++
common/mail/passwordResetToken-html.php | 15 +++++++++++++++
common/mail/passwordResetToken-text.php | 12 ++++++++++++
common/models/LoginForm.php | 78 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
common/models/OrdersAudit.php | 64 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
common/models/User.php | 188 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
common/widgets/Alert.php | 79 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
composer.json | 39 +++++++++++++++++++++++++++++++++++++++
composer.lock | 1194 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
console/config/.gitignore | 2 ++
console/config/bootstrap.php | 1 +
console/config/main.php | 25 +++++++++++++++++++++++++
console/config/params.php | 4 ++++
console/controllers/.gitkeep | 0
console/migrations/m130524_201442_init.php | 34 ++++++++++++++++++++++++++++++++++
console/models/.gitkeep | 1 +
console/runtime/.gitignore | 2 ++
environments/dev/backend/config/main-local.php | 25 +++++++++++++++++++++++++
environments/dev/backend/config/params-local.php | 3 +++
environments/dev/backend/web/index-test.php | 19 +++++++++++++++++++
environments/dev/backend/web/index.php | 18 ++++++++++++++++++
environments/dev/common/config/main-local.php | 20 ++++++++++++++++++++
environments/dev/common/config/params-local.php | 3 +++
environments/dev/console/config/main-local.php | 7 +++++++
environments/dev/console/config/params-local.php | 3 +++
environments/dev/frontend/config/main-local.php | 21 +++++++++++++++++++++
environments/dev/frontend/config/params-local.php | 3 +++
environments/dev/frontend/web/index-test.php | 18 ++++++++++++++++++
environments/dev/frontend/web/index.php | 18 ++++++++++++++++++
environments/dev/yii | 28 ++++++++++++++++++++++++++++
environments/index.php | 65 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
environments/prod/backend/config/main-local.php | 9 +++++++++
environments/prod/backend/config/params-local.php | 3 +++
environments/prod/backend/web/index.php | 18 ++++++++++++++++++
environments/prod/common/config/main-local.php | 16 ++++++++++++++++
environments/prod/common/config/params-local.php | 3 +++
environments/prod/console/config/main-local.php | 3 +++
environments/prod/console/config/params-local.php | 3 +++
environments/prod/frontend/config/main-local.php | 9 +++++++++
environments/prod/frontend/config/params-local.php | 3 +++
environments/prod/frontend/web/index.php | 18 ++++++++++++++++++
environments/prod/yii | 28 ++++++++++++++++++++++++++++
frontend/assets/AppAsset.php | 36 ++++++++++++++++++++++++++++++++++++
frontend/config/.gitignore | 2 ++
frontend/config/bootstrap.php | 1 +
frontend/config/main.php | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/config/params.php | 4 ++++
frontend/controllers/SiteController.php | 315 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/models/Clients.php | 66 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/models/ClientsQuery.php | 35 +++++++++++++++++++++++++++++++++++
frontend/models/ContactForm.php | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/models/PasswordResetRequestForm.php | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/models/ResetPasswordForm.php | 65 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/models/SignupForm.php | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/models/Team.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/models/TeamBooks.php | 49 +++++++++++++++++++++++++++++++++++++++++++++++++
frontend/models/TeamFilms.php | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/models/TeamHumors.php | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/models/TeamInterests.php | 69 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/models/TeamInterestsQuery.php | 35 +++++++++++++++++++++++++++++++++++
frontend/models/TeamQuery.php | 35 +++++++++++++++++++++++++++++++++++
frontend/models/TeamSkils.php | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/runtime/.gitignore | 2 ++
frontend/views/blocks/clients.php | 34 ++++++++++++++++++++++++++++++++++
frontend/views/blocks/orders-audit.php | 30 ++++++++++++++++++++++++++++++
frontend/views/blocks/portfolio.php | 291 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/views/blocks/reviews.php | 74 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/views/blocks/services.php | 12 ++++++++++++
frontend/views/layouts/main.php | 183 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/views/site/contact.php | 328 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/views/site/error.php | 27 +++++++++++++++++++++++++++
frontend/views/site/frontpage.php | 244 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/views/site/login.php | 39 +++++++++++++++++++++++++++++++++++++++
frontend/views/site/orders_audit.php | 33 +++++++++++++++++++++++++++++++++
frontend/views/site/orders_audit_success.php | 23 +++++++++++++++++++++++
frontend/views/site/requestPasswordResetToken.php | 31 +++++++++++++++++++++++++++++++
frontend/views/site/resetPassword.php | 31 +++++++++++++++++++++++++++++++
frontend/views/site/services/analitic.php | 399 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/views/site/services/content.php | 546 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/views/site/services/context.php | 386 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/views/site/services/cpa.php | 417 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/views/site/services/cpc.php | 375 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/views/site/services/design.php | 395 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/views/site/services/email.php | 391 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/views/site/services/integration.php | 434 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/views/site/services/segmnt.php | 335 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/views/site/services/seo.php | 447 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/views/site/services/serm.php | 405 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/views/site/services/smm.php | 365 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/views/site/services/usability.php | 365 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/views/site/services/webcreat.php | 414 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/views/site/signup.php | 35 +++++++++++++++++++++++++++++++++++
frontend/views/site/team.php | 255 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/views/site/teamitem.php | 261 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/views/site/vacancies.php | 436 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/.gitignore | 2 ++
frontend/web/assets/.gitignore | 2 ++
frontend/web/count_form/app/data/admin.php | 109 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/count_form/app/data/form.php | 414 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/count_form/app/data/login.php | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/count_form/app/data/sub_quest.php | 104 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/count_form/app/db/Entity.php | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/count_form/app/db/Main.php | 12 ++++++++++++
frontend/web/count_form/app/entity/question.php | 175 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/count_form/app/entity/request.php | 109 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/count_form/app/entity/sub_question.php | 126 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/LICENSE | 504 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/README | 137 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/changelog.txt | 483 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/class.phpmailer.php | 2826 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/class.pop3.php | 418 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/class.smtp.php | 1003 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs.ini | 92 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/Callback_function_notes.txt | 17 +++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/DomainKeys_notes.txt | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/Note_for_SMTP_debugging.txt | 23 +++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/extending.html | 148 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/faq.html | 67 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/classes.svg | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/classes/PHPMailer.html | 2420 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/classes/POP3.html | 435 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/classes/SMTP.html | 613 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/classes/phpmailerException.html | 235 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/css/bootstrap-responsive.css | 567 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/css/bootstrap-responsive.min.css | 3 +++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/css/bootstrap.css | 3365 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/css/bootstrap.min.css | 610 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/css/jquery.iviewer.css | 91 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/css/prettify.css | 1 +
frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/css/template.css | 505 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/deprecated.html | 70 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/errors.html | 227 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/graph_class.html | 67 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/apple-touch-icon-114x114.png | Bin 0 -> 28338 bytes
frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/apple-touch-icon-72x72.png | Bin 0 -> 12751 bytes
frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/apple-touch-icon.png | Bin 0 -> 8358 bytes
frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/favicon.ico | Bin 0 -> 1150 bytes
frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/glyphicons-halflings-white.png | Bin 0 -> 4352 bytes
frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/glyphicons-halflings.png | Bin 0 -> 4352 bytes
frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/icons/arrow_down.png | Bin 0 -> 606 bytes
frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/icons/arrow_right.png | Bin 0 -> 628 bytes
frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/icons/class.png | Bin 0 -> 395 bytes
frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/icons/constant.png | Bin 0 -> 496 bytes
frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/icons/favicon.ico | Bin 0 -> 1150 bytes
frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/icons/file-php.png | Bin 0 -> 4017 bytes
frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/icons/file.gif | Bin 0 -> 110 bytes
frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/icons/folder.gif | Bin 0 -> 106 bytes
frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/icons/function.png | Bin 0 -> 338 bytes
frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/icons/icon-folder-open-big.png | Bin 0 -> 232 bytes
frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/icons/icon-th-big.png | Bin 0 -> 106 bytes
frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/icons/icon_template.svg | 93 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/icons/interface.png | Bin 0 -> 281 bytes
frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/icons/method.png | Bin 0 -> 377 bytes
frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/icons/ok.png | Bin 0 -> 3685 bytes
frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/icons/property.png | Bin 0 -> 360 bytes
frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/icons/search.gif | Bin 0 -> 152 bytes
frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/icons/variable.png | Bin 0 -> 829 bytes
frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/icons/view_source.png | Bin 0 -> 603 bytes
frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/icons/visibility_private.png | Bin 0 -> 3433 bytes
frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/icons/visibility_protected.png | Bin 0 -> 764 bytes
frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/icons/visibility_public.png | Bin 0 -> 3451 bytes
frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/iviewer/grab.cur | Bin 0 -> 1150 bytes
frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/iviewer/hand.cur | Bin 0 -> 1150 bytes
frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/iviewer/iviewer.rotate_left.png | Bin 0 -> 1493 bytes
frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/iviewer/iviewer.rotate_right.png | Bin 0 -> 1482 bytes
frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/iviewer/iviewer.zoom_fit.png | Bin 0 -> 1252 bytes
frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/iviewer/iviewer.zoom_fit2.gif | Bin 0 -> 95 bytes
frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/iviewer/iviewer.zoom_in.png | Bin 0 -> 1420 bytes
frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/iviewer/iviewer.zoom_in2.gif | Bin 0 -> 90 bytes
frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/iviewer/iviewer.zoom_out.png | Bin 0 -> 1416 bytes
frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/iviewer/iviewer.zoom_out2.gif | Bin 0 -> 69 bytes
frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/iviewer/iviewer.zoom_zero.png | Bin 0 -> 1091 bytes
frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/iviewer/iviewer.zoom_zero2.gif | Bin 0 -> 98 bytes
frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/loader.gif | Bin 0 -> 4726 bytes
frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/index.html | 89 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/js/SVGPan.js | 232 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/js/bootstrap.js | 1722 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/js/bootstrap.min.js | 1 +
frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/js/jquery-1.4.2.min.js | 154 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/js/jquery-1.7.1.min.js | 9270 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/js/jquery-ui-1.8.2.custom.min.js | 1012 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/js/jquery.cookie.js | 104 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/js/jquery.iviewer.js | 1045 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/js/jquery.iviewer.min.js | 42 ++++++++++++++++++++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/js/jquery.mousewheel.min.js | 13 +++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/js/jquery.panzoom.js | 467 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/js/jquery.splitter.js | 228 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/js/jquery.tools.min.js | 115 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/js/jquery.treeview.js | 256 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/js/menu.js | 31 +++++++++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/js/prettify/lang-apollo.js | 2 ++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/js/prettify/lang-clj.js | 18 ++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/js/prettify/lang-css.js | 2 ++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/js/prettify/lang-go.js | 1 +
frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/js/prettify/lang-hs.js | 2 ++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/js/prettify/lang-lisp.js | 3 +++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/js/prettify/lang-lua.js | 2 ++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/js/prettify/lang-ml.js | 2 ++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/js/prettify/lang-n.js | 4 ++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/js/prettify/lang-proto.js | 1 +
frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/js/prettify/lang-scala.js | 2 ++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/js/prettify/lang-sql.js | 2 ++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/js/prettify/lang-tex.js | 1 +
frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/js/prettify/lang-vb.js | 2 ++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/js/prettify/lang-vhdl.js | 3 +++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/js/prettify/lang-wiki.js | 2 ++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/js/prettify/lang-xq.js | 3 +++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/js/prettify/lang-yaml.js | 2 ++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/js/prettify/prettify.min.js | 28 ++++++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/js/sidebar.js | 45 +++++++++++++++++++++++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/js/template.js | 185 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/markers.html | 97 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/namespaces/global.html | 109 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/packages/PHPMailer.html | 115 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/structure.xml | 3779 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/pop3_article.txt | 39 +++++++++++++++++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/use_gmail.txt | 44 ++++++++++++++++++++++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/examples/contents.html | 20 ++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/examples/images/phpmailer.gif | Bin 0 -> 4756 bytes
frontend/web/count_form/app/lib/PHPMailer_5.2.4/examples/images/phpmailer_mini.gif | Bin 0 -> 1042 bytes
frontend/web/count_form/app/lib/PHPMailer_5.2.4/examples/index.html | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/examples/test_db_smtp_basic.php | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/examples/test_mail_advanced.php | 30 ++++++++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/examples/test_mail_basic.php | 41 +++++++++++++++++++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/examples/test_pop_before_smtp_advanced.php | 39 +++++++++++++++++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/examples/test_pop_before_smtp_basic.php | 49 +++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/examples/test_sendmail_advanced.php | 33 +++++++++++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/examples/test_sendmail_basic.php | 43 +++++++++++++++++++++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/examples/test_smtp_advanced.php | 42 ++++++++++++++++++++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/examples/test_smtp_advanced_no_auth.php | 36 ++++++++++++++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/examples/test_smtp_basic.php | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/examples/test_smtp_basic_no_auth.php | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/examples/test_smtp_gmail_advanced.php | 42 ++++++++++++++++++++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/examples/test_smtp_gmail_basic.php | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/extras/class.html2text.inc | 489 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/extras/htmlfilter.php | 861 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/extras/ntlm_sasl_client.php | 185 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/language/phpmailer.lang-ar.php | 27 +++++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/language/phpmailer.lang-br.php | 26 ++++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/language/phpmailer.lang-ca.php | 26 ++++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/language/phpmailer.lang-ch.php | 26 ++++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/language/phpmailer.lang-cz.php | 25 +++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/language/phpmailer.lang-de.php | 25 +++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/language/phpmailer.lang-dk.php | 26 ++++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/language/phpmailer.lang-es.php | 26 ++++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/language/phpmailer.lang-et.php | 26 ++++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/language/phpmailer.lang-fi.php | 27 +++++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/language/phpmailer.lang-fo.php | 27 +++++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/language/phpmailer.lang-hu.php | 25 +++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/language/phpmailer.lang-it.php | 27 +++++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/language/phpmailer.lang-ja.php | 26 ++++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/language/phpmailer.lang-nl.php | 25 +++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/language/phpmailer.lang-no.php | 25 +++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/language/phpmailer.lang-pl.php | 25 +++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/language/phpmailer.lang-ro.php | 27 +++++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/language/phpmailer.lang-ru.php | 26 ++++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/language/phpmailer.lang-se.php | 26 ++++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/language/phpmailer.lang-sk.php | 26 ++++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/language/phpmailer.lang-tr.php | 27 +++++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/language/phpmailer.lang-zh.php | 26 ++++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/language/phpmailer.lang-zh_cn.php | 26 ++++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/test/contents.html | 10 ++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/test/phpmailerTest.php | 750 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/test/test.png | Bin 0 -> 1280 bytes
frontend/web/count_form/app/lib/PHPMailer_5.2.4/test/test_callback.php | 84 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/test/testemail.php | 48 ++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/test_script/LGPLv3.txt | 165 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/test_script/contents.html | 14 ++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/test_script/images/aikido.gif | Bin 0 -> 26300 bytes
frontend/web/count_form/app/lib/PHPMailer_5.2.4/test_script/images/bkgrnd.gif | Bin 0 -> 49 bytes
frontend/web/count_form/app/lib/PHPMailer_5.2.4/test_script/images/phpmailer.gif | Bin 0 -> 4756 bytes
frontend/web/count_form/app/lib/PHPMailer_5.2.4/test_script/index.php | 427 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/test_script/scripts/clipboard.swf | Bin 0 -> 1361 bytes
frontend/web/count_form/app/lib/PHPMailer_5.2.4/test_script/scripts/shBrushBash.js | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/test_script/scripts/shBrushCSharp.js | 64 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/test_script/scripts/shBrushCpp.js | 99 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/test_script/scripts/shBrushCss.js | 93 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/test_script/scripts/shBrushDelphi.js | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/test_script/scripts/shBrushDiff.js | 43 +++++++++++++++++++++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/test_script/scripts/shBrushGroovy.js | 69 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/test_script/scripts/shBrushJScript.js | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/test_script/scripts/shBrushJava.js | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/test_script/scripts/shBrushPerl.js | 74 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/test_script/scripts/shBrushPhp.js | 91 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/test_script/scripts/shBrushPlain.js | 35 +++++++++++++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/test_script/scripts/shBrushPython.js | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/test_script/scripts/shBrushRuby.js | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/test_script/scripts/shBrushScala.js | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/test_script/scripts/shBrushSql.js | 68 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/test_script/scripts/shBrushVb.js | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/test_script/scripts/shBrushXml.js | 71 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/test_script/scripts/shCore.js | 30 ++++++++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/test_script/scripts/shLegacy.js | 30 ++++++++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/test_script/src/shCore.js | 1949 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/test_script/src/shLegacy.js | 172 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/test_script/styles/help.png | Bin 0 -> 786 bytes
frontend/web/count_form/app/lib/PHPMailer_5.2.4/test_script/styles/magnifier.png | Bin 0 -> 615 bytes
frontend/web/count_form/app/lib/PHPMailer_5.2.4/test_script/styles/page_white_code.png | Bin 0 -> 603 bytes
frontend/web/count_form/app/lib/PHPMailer_5.2.4/test_script/styles/page_white_copy.png | Bin 0 -> 309 bytes
frontend/web/count_form/app/lib/PHPMailer_5.2.4/test_script/styles/printer.png | Bin 0 -> 731 bytes
frontend/web/count_form/app/lib/PHPMailer_5.2.4/test_script/styles/shCore.css | 321 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/test_script/styles/shThemeDefault.css | 191 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/test_script/styles/shThemeDjango.css | 193 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/test_script/styles/shThemeEmacs.css | 192 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/test_script/styles/shThemeFadeToGrey.css | 193 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/test_script/styles/shThemeMidnight.css | 192 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/test_script/styles/shThemeRDark.css | 192 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/count_form/app/lib/PHPMailer_5.2.4/test_script/styles/wrapping.png | Bin 0 -> 631 bytes
frontend/web/count_form/app/lib/PHPMailer_5.2.4/test_script/test.html | 46 ++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/count_form/app/view/admin/add.php | 76 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/count_form/app/view/admin/edit.php | 77 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/count_form/app/view/admin/index.php | 39 +++++++++++++++++++++++++++++++++++++++
frontend/web/count_form/app/view/form/index.php | 78 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/count_form/app/view/form/select.php | 49 +++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/count_form/app/view/login/index.php | 20 ++++++++++++++++++++
frontend/web/count_form/app/view/main_page.php | 613 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/count_form/app/view/sub_quest/add.php | 74 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/count_form/app/view/sub_quest/edit.php | 75 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/count_form/app/view/sub_quest/index.php | 35 +++++++++++++++++++++++++++++++++++
frontend/web/count_form/css/bootstrap.css | 5796 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/count_form/css/bootstrap.css.map | 1 +
frontend/web/count_form/css/main.css | 367 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/count_form/images/change.png | Bin 0 -> 17907 bytes
frontend/web/count_form/images/check-off.png | Bin 0 -> 24052 bytes
frontend/web/count_form/images/check-on.png | Bin 0 -> 24341 bytes
frontend/web/count_form/images/del.png | Bin 0 -> 708 bytes
frontend/web/count_form/images/down-arrow.png | Bin 0 -> 23851 bytes
frontend/web/count_form/images/down-arrow2.png | Bin 0 -> 23846 bytes
frontend/web/count_form/images/radio-off.png | Bin 0 -> 24205 bytes
frontend/web/count_form/images/radio-on.png | Bin 0 -> 24338 bytes
frontend/web/count_form/images/save.jpg | Bin 0 -> 3655 bytes
frontend/web/count_form/images/up-arrow.png | Bin 0 -> 23842 bytes
frontend/web/count_form/images/up-arrow2.png | Bin 0 -> 23842 bytes
frontend/web/count_form/images/validFild.png | Bin 0 -> 696 bytes
frontend/web/count_form/index.php | 27 +++++++++++++++++++++++++++
frontend/web/count_form/js/input-style.js | 68 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/count_form/js/jquery-ui.js | 5 +++++
frontend/web/count_form/js/jquery.js | 9190 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/count_form/js/jquery.validate.min.js | 2 ++
frontend/web/count_form/js/main.js | 219 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/count_form/js/validate.js | 69 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/css/contact.css | 444 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/css/ie.css | 14 ++++++++++++++
frontend/web/css/service_analitic.css | 444 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/css/service_content.css | 514 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/css/service_context.css | 442 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/css/service_cpa.css | 453 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/css/service_cpc.css | 441 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/css/service_design.css | 446 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/css/service_email.css | 428 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/css/service_integration.css | 447 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/css/service_segmnt.css | 418 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/css/service_seo.css | 442 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/css/service_serm.css | 444 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/css/service_smm.css | 451 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/css/service_usability.css | 415 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/css/service_webcreat.css | 444 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/css/site.css | 1505 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/css/team.css | 537 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/css/teamitem.css | 728 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/css/vacancies.css | 523 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/favicon.ico | Bin 0 -> 318 bytes
frontend/web/files/censor_net_ua.jpg | Bin 0 -> 7900 bytes
frontend/web/files/cl-arenda.jpg | Bin 0 -> 3935 bytes
frontend/web/files/cl-arenda.png | Bin 0 -> 17912 bytes
frontend/web/files/cl-censor.jpg | Bin 0 -> 10179 bytes
frontend/web/files/cl-censor.png | Bin 0 -> 7826 bytes
frontend/web/files/cl-dveri.jpg | Bin 0 -> 4200 bytes
frontend/web/files/cl-dveri.png | Bin 0 -> 14426 bytes
frontend/web/files/cl-extreme.jpg | Bin 0 -> 4537 bytes
frontend/web/files/cl-extreme.png | Bin 0 -> 4977 bytes
frontend/web/files/cl-gopro.jpg | Bin 0 -> 3852 bytes
frontend/web/files/cl-gopro.png | Bin 0 -> 11330 bytes
frontend/web/files/cl-hata-laminatu.jpg | Bin 0 -> 4120 bytes
frontend/web/files/cl-hata-laminatu.png | Bin 0 -> 11845 bytes
frontend/web/files/cl-linija-svitla.jpg | Bin 0 -> 4115 bytes
frontend/web/files/cl-linija-svitla.png | Bin 0 -> 11033 bytes
frontend/web/files/cl-planetaplast.jpg | Bin 0 -> 4719 bytes
frontend/web/files/cl-planetaplast.png | Bin 0 -> 15925 bytes
frontend/web/files/cl-semena.jpg | Bin 0 -> 4155 bytes
frontend/web/files/cl-semena.png | Bin 0 -> 6789 bytes
frontend/web/files/cl-ukravtodor.jpg | Bin 0 -> 6671 bytes
frontend/web/files/cl-ukravtodor.png | Bin 0 -> 21094 bytes
frontend/web/files/cl-ventolux.jpg | Bin 0 -> 4548 bytes
frontend/web/files/cl-ventolux.png | Bin 0 -> 12879 bytes
frontend/web/files/clients/cl-arenda.png | Bin 0 -> 17912 bytes
frontend/web/files/clients/cl-arenda_1.png | Bin 0 -> 17912 bytes
frontend/web/files/clients/cl-censor.png | Bin 0 -> 7826 bytes
frontend/web/files/clients/cl-dveri.png | Bin 0 -> 14426 bytes
frontend/web/files/clients/cl-extreme.png | Bin 0 -> 4977 bytes
frontend/web/files/clients/cl-gopro.png | Bin 0 -> 11330 bytes
frontend/web/files/clients/cl-hata-laminatu.png | Bin 0 -> 11845 bytes
frontend/web/files/clients/cl-linija-svitla.png | Bin 0 -> 11033 bytes
frontend/web/files/clients/cl-planetaplast.png | Bin 0 -> 15925 bytes
frontend/web/files/clients/cl-semena.png | Bin 0 -> 6789 bytes
frontend/web/files/clients/cl-ukravtodor.png | Bin 0 -> 21094 bytes
frontend/web/files/google-map.jpg | Bin 0 -> 216866 bytes
frontend/web/files/logos_artweb_slider.rar | Bin 0 -> 136638 bytes
frontend/web/files/pf-avtodor.jpg | Bin 0 -> 11016 bytes
frontend/web/files/pf-avtodor_1.png | Bin 0 -> 2090 bytes
frontend/web/files/pf-avtodor_2.png | Bin 0 -> 2430 bytes
frontend/web/files/pf-avtodor_3.png | Bin 0 -> 2704 bytes
frontend/web/files/pf-censor.jpg | Bin 0 -> 7713 bytes
frontend/web/files/pf-censor_1.png | Bin 0 -> 2213 bytes
frontend/web/files/pf-censor_2.png | Bin 0 -> 3001 bytes
frontend/web/files/pf-censor_3.png | Bin 0 -> 2769 bytes
frontend/web/files/pf-extremstyle.jpg | Bin 0 -> 4112 bytes
frontend/web/files/pf-extremstyle_1.png | Bin 0 -> 2289 bytes
frontend/web/files/pf-extremstyle_2.png | Bin 0 -> 1686 bytes
frontend/web/files/pf-extremstyle_3.png | Bin 0 -> 2475 bytes
frontend/web/files/pf-medtehnika.jpg | Bin 0 -> 6479 bytes
frontend/web/files/pf-medtehnika_1.png | Bin 0 -> 2537 bytes
frontend/web/files/pf-medtehnika_2.png | Bin 0 -> 1883 bytes
frontend/web/files/pf-medtehnika_3.png | Bin 0 -> 2407 bytes
frontend/web/files/pf-semena.jpg | Bin 0 -> 6635 bytes
frontend/web/files/pf-semena_1.png | Bin 0 -> 2784 bytes
frontend/web/files/pf-semena_2.png | Bin 0 -> 2734 bytes
frontend/web/files/pf-semena_3.png | Bin 0 -> 2143 bytes
frontend/web/files/pf1-finobzor.png | Bin 0 -> 10015 bytes
frontend/web/files/rw-ExtremStyle_ua.jpg | Bin 0 -> 13319 bytes
frontend/web/files/rw-UkrAvtoDor_gov_ua.jpg | Bin 0 -> 9427 bytes
frontend/web/files/srv1-cpa.png | Bin 0 -> 7334 bytes
frontend/web/files/srv1-cpc.png | Bin 0 -> 5832 bytes
frontend/web/files/srv1-kontekstnaya-reklama.png | Bin 0 -> 5838 bytes
frontend/web/files/srv1-seo.png | Bin 0 -> 4495 bytes
frontend/web/files/srv2-email-marketing.png | Bin 0 -> 5065 bytes
frontend/web/files/srv2-kontent-marketing.png | Bin 0 -> 4329 bytes
frontend/web/files/srv2-serm.png | Bin 0 -> 5640 bytes
frontend/web/files/srv2-smm.png | Bin 0 -> 5606 bytes
frontend/web/files/srv3-integratsiya.png | Bin 0 -> 7192 bytes
frontend/web/files/srv3-redizayn.png | Bin 0 -> 5793 bytes
frontend/web/files/srv3-sozdaniye-saytov.png | Bin 0 -> 6090 bytes
frontend/web/files/srv4-nastroyka-analitiki.png | Bin 0 -> 5327 bytes
frontend/web/files/srv4-segmentatsiya.png | Bin 0 -> 6099 bytes
frontend/web/files/srv4-yuzabiliti.png | Bin 0 -> 6195 bytes
frontend/web/files/team/beliy.jpg | Bin 0 -> 30699 bytes
frontend/web/files/team/beliy_1.jpg | Bin 0 -> 30699 bytes
frontend/web/files/team/marek.jpg | Bin 0 -> 36180 bytes
frontend/web/files/team/zozulya.jpg | Bin 0 -> 32279 bytes
frontend/web/files/team/zozulya_1.jpg | Bin 0 -> 31433 bytes
frontend/web/files/team/zozulya_2.jpg | Bin 0 -> 45286 bytes
frontend/web/files/team/zozulya_3.jpg | Bin 0 -> 31433 bytes
frontend/web/files/tm1-vyacheslav-mizharev.jpg | Bin 0 -> 12850 bytes
frontend/web/files/tm2-andrey-belyy.jpg | Bin 0 -> 10898 bytes
frontend/web/files/tm3-dmitriy.jpg | Bin 0 -> 15040 bytes
frontend/web/files/tm4-irina.jpg | Bin 0 -> 15209 bytes
frontend/web/files/tm5-anton-zozulya.jpg | Bin 0 -> 13625 bytes
frontend/web/images/b-audit-bg.jpg | Bin 0 -> 342003 bytes
frontend/web/images/b-completed-bg.jpg | Bin 0 -> 109057 bytes
frontend/web/images/b-portfolio-arrow.png | Bin 0 -> 1083 bytes
frontend/web/images/b-portfolio-arrow_2.png | Bin 0 -> 1514 bytes
frontend/web/images/b-quality-client.png | Bin 0 -> 1893 bytes
frontend/web/images/b-quality-list.jpg | Bin 0 -> 1340 bytes
frontend/web/images/b-reviews-arrow.png | Bin 0 -> 277 bytes
frontend/web/images/b-reviews-skit.png | Bin 0 -> 380 bytes
frontend/web/images/b-team-ico.png | Bin 0 -> 5133 bytes
frontend/web/images/bg.jpg | Bin 0 -> 174324 bytes
frontend/web/images/bg_contacts.jpg | Bin 0 -> 38915 bytes
frontend/web/images/bg_contacts2.jpg | Bin 0 -> 55045 bytes
frontend/web/images/bg_team-shadow.png | Bin 0 -> 2484 bytes
frontend/web/images/bg_team-tv.png | Bin 0 -> 10577 bytes
frontend/web/images/bg_team.jpg | Bin 0 -> 37004 bytes
frontend/web/images/bg_team2.jpg | Bin 0 -> 64912 bytes
frontend/web/images/bg_team3.jpg | Bin 0 -> 35726 bytes
frontend/web/images/blog-ico.jpg | Bin 0 -> 2743 bytes
frontend/web/images/censor_net_ua.png | Bin 0 -> 45891 bytes
frontend/web/images/circle-line.png | Bin 0 -> 5425 bytes
frontend/web/images/company-ico-1.png | Bin 0 -> 513 bytes
frontend/web/images/company-ico-2.png | Bin 0 -> 1706 bytes
frontend/web/images/company-ico-3.png | Bin 0 -> 1242 bytes
frontend/web/images/contact-ico.png | Bin 0 -> 1200 bytes
frontend/web/images/contact-ico2.png | Bin 0 -> 2777 bytes
frontend/web/images/dialog-close.png | Bin 0 -> 1119 bytes
frontend/web/images/f_1.png | Bin 0 -> 14045 bytes
frontend/web/images/f_10.png | Bin 0 -> 5555 bytes
frontend/web/images/f_11.png | Bin 0 -> 4918 bytes
frontend/web/images/f_12.png | Bin 0 -> 6299 bytes
frontend/web/images/f_13.png | Bin 0 -> 3868 bytes
frontend/web/images/f_14.png | Bin 0 -> 5004 bytes
frontend/web/images/f_15.png | Bin 0 -> 3802 bytes
frontend/web/images/f_2.jpg | Bin 0 -> 122270 bytes
frontend/web/images/f_3.jpg | Bin 0 -> 3748 bytes
frontend/web/images/f_4.png | Bin 0 -> 4803 bytes
frontend/web/images/f_5.png | Bin 0 -> 3711 bytes
frontend/web/images/f_6.png | Bin 0 -> 7181 bytes
frontend/web/images/f_7.png | Bin 0 -> 4942 bytes
frontend/web/images/f_8.png | Bin 0 -> 4818 bytes
frontend/web/images/f_9.png | Bin 0 -> 9761 bytes
frontend/web/images/form-cont-arrow.jpg | Bin 0 -> 1374 bytes
frontend/web/images/fotka.jpg | Bin 0 -> 78322 bytes
frontend/web/images/foto-1.jpg | Bin 0 -> 33941 bytes
frontend/web/images/foto-2.jpg | Bin 0 -> 31433 bytes
frontend/web/images/graph-ico-1.jpg | Bin 0 -> 1825 bytes
frontend/web/images/graph-ico-2.jpg | Bin 0 -> 2895 bytes
frontend/web/images/graph-ico-3.jpg | Bin 0 -> 3165 bytes
frontend/web/images/graph-ico-4.jpg | Bin 0 -> 1493 bytes
frontend/web/images/graph-ico-5.jpg | Bin 0 -> 1487 bytes
frontend/web/images/ico-mail.png | Bin 0 -> 394 bytes
frontend/web/images/ico-phone.png | Bin 0 -> 440 bytes
frontend/web/images/ico-skype.png | Bin 0 -> 540 bytes
frontend/web/images/ico_adress.png | Bin 0 -> 547 bytes
frontend/web/images/ico_team_1.jpg | Bin 0 -> 3651 bytes
frontend/web/images/ico_team_2.jpg | Bin 0 -> 4000 bytes
frontend/web/images/ico_team_3.jpg | Bin 0 -> 4015 bytes
frontend/web/images/ico_team_4.jpg | Bin 0 -> 3705 bytes
frontend/web/images/icons.png | Bin 0 -> 75547 bytes
frontend/web/images/line_team.png | Bin 0 -> 462 bytes
frontend/web/images/logo.png | Bin 0 -> 2515 bytes
frontend/web/images/logo_2.png | Bin 0 -> 839 bytes
frontend/web/images/mail-cont.jpg | Bin 0 -> 1577 bytes
frontend/web/images/mapa_shadow.png | Bin 0 -> 230 bytes
frontend/web/images/mark_contacts.png | Bin 0 -> 729 bytes
frontend/web/images/monitor.png | Bin 0 -> 63490 bytes
frontend/web/images/photo_andrey_240x315px.jpg | Bin 0 -> 30699 bytes
frontend/web/images/portfolio.png | Bin 0 -> 486 bytes
frontend/web/images/portfolio_1.png | Bin 0 -> 3655 bytes
frontend/web/images/portfolio_2.png | Bin 0 -> 4079 bytes
frontend/web/images/portfolio_3.png | Bin 0 -> 3641 bytes
frontend/web/images/rw-ExtremStyle_ua.png | Bin 0 -> 62176 bytes
frontend/web/images/rw-UkrAvtoDor_gov_ua.png | Bin 0 -> 49231 bytes
frontend/web/images/service.png | Bin 0 -> 436 bytes
frontend/web/images/service_2.png | Bin 0 -> 3565 bytes
frontend/web/images/service_3.png | Bin 0 -> 2585 bytes
frontend/web/images/service_4.png | Bin 0 -> 1783 bytes
frontend/web/images/service_5.png | Bin 0 -> 1836 bytes
frontend/web/images/services/analitic/analitic.jpg | Bin 0 -> 24891 bytes
frontend/web/images/services/analitic/analitic.png | Bin 0 -> 5630 bytes
frontend/web/images/services/analitic/analitic_f_1.jpg | Bin 0 -> 2471 bytes
frontend/web/images/services/analitic/analitic_f_1.png | Bin 0 -> 2125 bytes
frontend/web/images/services/analitic/analitic_f_2.jpg | Bin 0 -> 4659 bytes
frontend/web/images/services/analitic/analitic_f_2.png | Bin 0 -> 1646 bytes
frontend/web/images/services/analitic/analitic_f_3.jpg | Bin 0 -> 2330 bytes
frontend/web/images/services/analitic/analitic_f_3.png | Bin 0 -> 1099 bytes
frontend/web/images/services/analitic/analitic_f_4.jpg | Bin 0 -> 3815 bytes
frontend/web/images/services/analitic/anton.png | Bin 0 -> 50095 bytes
frontend/web/images/services/analitic/b-audit-bg_smm.jpg | Bin 0 -> 354139 bytes
frontend/web/images/services/analitic/line-bg-services.png | Bin 0 -> 8366 bytes
frontend/web/images/services/analitic/line_smm.jpg | Bin 0 -> 1446 bytes
frontend/web/images/services/analitic/reason.jpg | Bin 0 -> 47480 bytes
frontend/web/images/services/analitic/road-analitic_f_1.jpg | Bin 0 -> 5755 bytes
frontend/web/images/services/analitic/road-analitic_f_2.jpg | Bin 0 -> 5779 bytes
frontend/web/images/services/analitic/road-analitic_f_3.jpg | Bin 0 -> 4787 bytes
frontend/web/images/services/analitic/road-analitic_f_4.jpg | Bin 0 -> 5381 bytes
frontend/web/images/services/analitic/road-analitic_f_5.jpg | Bin 0 -> 4603 bytes
frontend/web/images/services/analitic/road-analitic_f_6.jpg | Bin 0 -> 4924 bytes
frontend/web/images/services/analitic/road-segmnt.jpg | Bin 0 -> 12010 bytes
frontend/web/images/services/analitic/road.jpg | Bin 0 -> 18429 bytes
frontend/web/images/services/analitic/seed.jpg | Bin 0 -> 4304 bytes
frontend/web/images/services/analitic/seti_arrow.jpg | Bin 0 -> 5025 bytes
frontend/web/images/services/analitic/slide-1.jpg | Bin 0 -> 14714 bytes
frontend/web/images/services/analitic/slide-2.png | Bin 0 -> 22920 bytes
frontend/web/images/services/analitic/slide-3.png | Bin 0 -> 23103 bytes
frontend/web/images/services/analitic/smm_arrow.jpg | Bin 0 -> 4292 bytes
frontend/web/images/services/analitic/smm_f_2.jpg | Bin 0 -> 2330 bytes
frontend/web/images/services/analitic/soc_f_1.jpg | Bin 0 -> 3630 bytes
frontend/web/images/services/analitic/soc_f_2.jpg | Bin 0 -> 3972 bytes
frontend/web/images/services/analitic/soc_f_3.jpg | Bin 0 -> 4369 bytes
frontend/web/images/services/analitic/soc_f_4.jpg | Bin 0 -> 4099 bytes
frontend/web/images/services/analitic/soc_f_5.jpg | Bin 0 -> 3559 bytes
frontend/web/images/services/analitic/soc_f_6.jpg | Bin 0 -> 4225 bytes
frontend/web/images/services/analitic/soc_f_7.jpg | Bin 0 -> 4108 bytes
frontend/web/images/services/analitic/team-segmnt.jpg | Bin 0 -> 10832 bytes
frontend/web/images/services/analitic/why_analitic_f_1.jpg | Bin 0 -> 2682 bytes
frontend/web/images/services/analitic/why_analitic_f_11.jpg | Bin 0 -> 2687 bytes
frontend/web/images/services/analitic/why_analitic_f_12.jpg | Bin 0 -> 2583 bytes
frontend/web/images/services/analitic/why_analitic_f_13.jpg | Bin 0 -> 2700 bytes
frontend/web/images/services/analitic/why_analitic_f_2.jpg | Bin 0 -> 2646 bytes
frontend/web/images/services/analitic/why_analitic_f_3.jpg | Bin 0 -> 2165 bytes
frontend/web/images/services/analitic/why_analitic_f_4.jpg | Bin 0 -> 2747 bytes
frontend/web/images/services/analitic/why_analitic_f_5.jpg | Bin 0 -> 2328 bytes
frontend/web/images/services/analitic/why_analitic_f_6.jpg | Bin 0 -> 2236 bytes
frontend/web/images/services/analitic/why_analitic_f_7.jpg | Bin 0 -> 2828 bytes
frontend/web/images/services/analitic/why_analitic_f_8.jpg | Bin 0 -> 2742 bytes
frontend/web/images/services/analitic/why_analitic_f_9.jpg | Bin 0 -> 2747 bytes
frontend/web/images/services/content/b-audit-bg_smm.jpg | Bin 0 -> 354139 bytes
frontend/web/images/services/content/burse_f_1.jpg | Bin 0 -> 5659 bytes
frontend/web/images/services/content/burse_f_2.jpg | Bin 0 -> 4594 bytes
frontend/web/images/services/content/burse_f_3.jpg | Bin 0 -> 3487 bytes
frontend/web/images/services/content/content-circle-1-2.jpg | Bin 0 -> 8535 bytes
frontend/web/images/services/content/content-circle-1.jpg | Bin 0 -> 8257 bytes
frontend/web/images/services/content/content-circle-2-2.jpg | Bin 0 -> 9757 bytes
frontend/web/images/services/content/content-circle-2.jpg | Bin 0 -> 8228 bytes
frontend/web/images/services/content/content-circle-3-2.jpg | Bin 0 -> 8837 bytes
frontend/web/images/services/content/content-circle-3.jpg | Bin 0 -> 8256 bytes
frontend/web/images/services/content/content.png | Bin 0 -> 4191 bytes
frontend/web/images/services/content/content_f_1.jpg | Bin 0 -> 2616 bytes
frontend/web/images/services/content/content_f_2.jpg | Bin 0 -> 2782 bytes
frontend/web/images/services/content/content_f_3.jpg | Bin 0 -> 3122 bytes
frontend/web/images/services/content/content_f_4.jpg | Bin 0 -> 3136 bytes
frontend/web/images/services/content/line-bg-services.png | Bin 0 -> 8366 bytes
frontend/web/images/services/content/line_smm.jpg | Bin 0 -> 1446 bytes
frontend/web/images/services/content/reason.jpg | Bin 0 -> 47480 bytes
frontend/web/images/services/content/road-analitic_f_1.jpg | Bin 0 -> 5755 bytes
frontend/web/images/services/content/road-analitic_f_2.jpg | Bin 0 -> 5779 bytes
frontend/web/images/services/content/road-analitic_f_3.jpg | Bin 0 -> 4787 bytes
frontend/web/images/services/content/road-analitic_f_4.jpg | Bin 0 -> 5381 bytes
frontend/web/images/services/content/road-analitic_f_5.jpg | Bin 0 -> 4603 bytes
frontend/web/images/services/content/road-analitic_f_6.jpg | Bin 0 -> 4924 bytes
frontend/web/images/services/content/road-content.jpg | Bin 0 -> 12010 bytes
frontend/web/images/services/content/road-cpa_f_1.jpg | Bin 0 -> 7413 bytes
frontend/web/images/services/content/road-cpa_f_2.jpg | Bin 0 -> 6099 bytes
frontend/web/images/services/content/road-cpa_f_3.jpg | Bin 0 -> 8145 bytes
frontend/web/images/services/content/road-cpa_f_4.jpg | Bin 0 -> 4762 bytes
frontend/web/images/services/content/road-cpa_f_5.jpg | Bin 0 -> 5418 bytes
frontend/web/images/services/content/road-cpa_f_6.jpg | Bin 0 -> 5642 bytes
frontend/web/images/services/content/road-cpa_f_7.jpg | Bin 0 -> 6001 bytes
frontend/web/images/services/content/road-cpa_f_8.jpg | Bin 0 -> 4910 bytes
frontend/web/images/services/content/road-webcreat_f_1.jpg | Bin 0 -> 6672 bytes
frontend/web/images/services/content/road-webcreat_f_2.jpg | Bin 0 -> 4432 bytes
frontend/web/images/services/content/road-webcreat_f_3.jpg | Bin 0 -> 4584 bytes
frontend/web/images/services/content/road-webcreat_f_4.jpg | Bin 0 -> 6118 bytes
frontend/web/images/services/content/road-webcreat_f_5.jpg | Bin 0 -> 4591 bytes
frontend/web/images/services/content/road-webcreat_f_6.jpg | Bin 0 -> 4472 bytes
frontend/web/images/services/content/road-webcreat_f_7.jpg | Bin 0 -> 3593 bytes
frontend/web/images/services/content/road.jpg | Bin 0 -> 18429 bytes
frontend/web/images/services/content/seed.jpg | Bin 0 -> 4304 bytes
frontend/web/images/services/content/seo_f_1.png | Bin 0 -> 1147 bytes
frontend/web/images/services/content/seo_f_2.png | Bin 0 -> 1107 bytes
frontend/web/images/services/content/seo_f_3.png | Bin 0 -> 814 bytes
frontend/web/images/services/content/seti-content.jpg | Bin 0 -> 24555 bytes
frontend/web/images/services/content/seti_arrow.jpg | Bin 0 -> 5025 bytes
frontend/web/images/services/content/slide-1.jpg | Bin 0 -> 14714 bytes
frontend/web/images/services/content/slide-2.png | Bin 0 -> 22920 bytes
frontend/web/images/services/content/slide-3.png | Bin 0 -> 23103 bytes
frontend/web/images/services/content/smm_arrow.jpg | Bin 0 -> 4292 bytes
frontend/web/images/services/content/smm_f_2.jpg | Bin 0 -> 2330 bytes
frontend/web/images/services/content/soc_f_1.jpg | Bin 0 -> 3630 bytes
frontend/web/images/services/content/soc_f_2.jpg | Bin 0 -> 3972 bytes
frontend/web/images/services/content/soc_f_3.jpg | Bin 0 -> 4369 bytes
frontend/web/images/services/content/soc_f_4.jpg | Bin 0 -> 4099 bytes
frontend/web/images/services/content/soc_f_5.jpg | Bin 0 -> 3559 bytes
frontend/web/images/services/content/soc_f_6.jpg | Bin 0 -> 4225 bytes
frontend/web/images/services/content/soc_f_7.jpg | Bin 0 -> 4108 bytes
frontend/web/images/services/content/team-webcreat.jpg | Bin 0 -> 13850 bytes
frontend/web/images/services/content/we-work-1.jpg | Bin 0 -> 2979 bytes
frontend/web/images/services/content/we-work-10.jpg | Bin 0 -> 2273 bytes
frontend/web/images/services/content/we-work-11.jpg | Bin 0 -> 3078 bytes
frontend/web/images/services/content/we-work-2.jpg | Bin 0 -> 2608 bytes
frontend/web/images/services/content/we-work-3.jpg | Bin 0 -> 3274 bytes
frontend/web/images/services/content/we-work-4.jpg | Bin 0 -> 3102 bytes
frontend/web/images/services/content/we-work-5.jpg | Bin 0 -> 3228 bytes
frontend/web/images/services/content/we-work-6.jpg | Bin 0 -> 3271 bytes
frontend/web/images/services/content/we-work-7.jpg | Bin 0 -> 2596 bytes
frontend/web/images/services/content/we-work-8.jpg | Bin 0 -> 3605 bytes
frontend/web/images/services/content/we-work-9.jpg | Bin 0 -> 3092 bytes
frontend/web/images/services/content/why_content_f_1.jpg | Bin 0 -> 3141 bytes
frontend/web/images/services/content/why_content_f_10.jpg | Bin 0 -> 4177 bytes
frontend/web/images/services/content/why_content_f_11.jpg | Bin 0 -> 5131 bytes
frontend/web/images/services/content/why_content_f_12.jpg | Bin 0 -> 5416 bytes
frontend/web/images/services/content/why_content_f_13.jpg | Bin 0 -> 6217 bytes
frontend/web/images/services/content/why_content_f_2.jpg | Bin 0 -> 3398 bytes
frontend/web/images/services/content/why_content_f_3.jpg | Bin 0 -> 3695 bytes
frontend/web/images/services/content/why_content_f_4.jpg | Bin 0 -> 3671 bytes
frontend/web/images/services/content/why_content_f_5.jpg | Bin 0 -> 3550 bytes
frontend/web/images/services/content/why_content_f_6.jpg | Bin 0 -> 3674 bytes
frontend/web/images/services/content/why_content_f_7.jpg | Bin 0 -> 5000 bytes
frontend/web/images/services/content/why_content_f_8.jpg | Bin 0 -> 4341 bytes
frontend/web/images/services/content/why_content_f_9.jpg | Bin 0 -> 4048 bytes
frontend/web/images/services/content/yulia.png | Bin 0 -> 69056 bytes
frontend/web/images/services/context/b-audit-bg_smm.jpg | Bin 0 -> 354139 bytes
frontend/web/images/services/context/context-seed_f_1.png | Bin 0 -> 1131 bytes
frontend/web/images/services/context/context-seed_f_2.png | Bin 0 -> 662 bytes
frontend/web/images/services/context/context-seed_f_3.png | Bin 0 -> 1148 bytes
frontend/web/images/services/context/context-team.jpg | Bin 0 -> 14485 bytes
frontend/web/images/services/context/context.png | Bin 0 -> 8984 bytes
frontend/web/images/services/context/context_f_1.jpg | Bin 0 -> 2677 bytes
frontend/web/images/services/context/context_f_2.jpg | Bin 0 -> 2616 bytes
frontend/web/images/services/context/context_f_3.jpg | Bin 0 -> 2691 bytes
frontend/web/images/services/context/context_f_4.jpg | Bin 0 -> 5169 bytes
frontend/web/images/services/context/line-bg-services.png | Bin 0 -> 8366 bytes
frontend/web/images/services/context/line_smm.jpg | Bin 0 -> 1446 bytes
frontend/web/images/services/context/reason.jpg | Bin 0 -> 47480 bytes
frontend/web/images/services/context/road-content.jpg | Bin 0 -> 13798 bytes
frontend/web/images/services/context/road-context_f_1.jpg | Bin 0 -> 6860 bytes
frontend/web/images/services/context/road-context_f_2.jpg | Bin 0 -> 5755 bytes
frontend/web/images/services/context/road-context_f_3.jpg | Bin 0 -> 4787 bytes
frontend/web/images/services/context/road-context_f_4.jpg | Bin 0 -> 5549 bytes
frontend/web/images/services/context/road-context_f_5.jpg | Bin 0 -> 5229 bytes
frontend/web/images/services/context/road-context_f_6.jpg | Bin 0 -> 6190 bytes
frontend/web/images/services/context/road-context_f_7.jpg | Bin 0 -> 4900 bytes
frontend/web/images/services/context/road-context_f_8.png | Bin 0 -> 1820 bytes
frontend/web/images/services/context/seed.jpg | Bin 0 -> 4304 bytes
frontend/web/images/services/context/seti-s.jpg | Bin 0 -> 24891 bytes
frontend/web/images/services/context/seti_arrow.jpg | Bin 0 -> 5025 bytes
frontend/web/images/services/context/slide-1.jpg | Bin 0 -> 14714 bytes
frontend/web/images/services/context/slide-2.png | Bin 0 -> 22920 bytes
frontend/web/images/services/context/slide-3.png | Bin 0 -> 23103 bytes
frontend/web/images/services/context/smm_arrow.jpg | Bin 0 -> 4292 bytes
frontend/web/images/services/context/soc_f_1.jpg | Bin 0 -> 3630 bytes
frontend/web/images/services/context/soc_f_2.jpg | Bin 0 -> 3972 bytes
frontend/web/images/services/context/soc_f_3.jpg | Bin 0 -> 4369 bytes
frontend/web/images/services/context/soc_f_4.jpg | Bin 0 -> 4099 bytes
frontend/web/images/services/context/soc_f_5.jpg | Bin 0 -> 3559 bytes
frontend/web/images/services/context/soc_f_6.jpg | Bin 0 -> 4225 bytes
frontend/web/images/services/context/soc_f_7.jpg | Bin 0 -> 4108 bytes
frontend/web/images/services/context/sveta.png | Bin 0 -> 78321 bytes
frontend/web/images/services/context/why_context_f_1.jpg | Bin 0 -> 4749 bytes
frontend/web/images/services/context/why_context_f_10.jpg | Bin 0 -> 4997 bytes
frontend/web/images/services/context/why_context_f_11.jpg | Bin 0 -> 4749 bytes
frontend/web/images/services/context/why_context_f_12.jpg | Bin 0 -> 4334 bytes
frontend/web/images/services/context/why_context_f_13.jpg | Bin 0 -> 4854 bytes
frontend/web/images/services/context/why_context_f_14.jpg | Bin 0 -> 5012 bytes
frontend/web/images/services/context/why_context_f_15.jpg | Bin 0 -> 5502 bytes
frontend/web/images/services/context/why_context_f_2.jpg | Bin 0 -> 5121 bytes
frontend/web/images/services/context/why_context_f_3.jpg | Bin 0 -> 3829 bytes
frontend/web/images/services/context/why_context_f_4.jpg | Bin 0 -> 5272 bytes
frontend/web/images/services/context/why_context_f_5.jpg | Bin 0 -> 5238 bytes
frontend/web/images/services/context/why_context_f_6.jpg | Bin 0 -> 4924 bytes
frontend/web/images/services/context/why_context_f_7.jpg | Bin 0 -> 4052 bytes
frontend/web/images/services/context/why_context_f_8.jpg | Bin 0 -> 4854 bytes
frontend/web/images/services/context/why_context_f_9.jpg | Bin 0 -> 5513 bytes
frontend/web/images/services/context/Íîâûé òåêñòîâûé äîêóìåíò.txt | 1 +
frontend/web/images/services/cpa/b-audit-bg_smm.jpg | Bin 0 -> 354139 bytes
frontend/web/images/services/cpa/burse_f_1.jpg | Bin 0 -> 5659 bytes
frontend/web/images/services/cpa/burse_f_2.jpg | Bin 0 -> 4594 bytes
frontend/web/images/services/cpa/burse_f_3.jpg | Bin 0 -> 3487 bytes
frontend/web/images/services/cpa/cpa.png | Bin 0 -> 4281 bytes
frontend/web/images/services/cpa/cpa_f_1.jpg | Bin 0 -> 4547 bytes
frontend/web/images/services/cpa/cpa_f_2.jpg | Bin 0 -> 2616 bytes
frontend/web/images/services/cpa/cpa_f_3.jpg | Bin 0 -> 2495 bytes
frontend/web/images/services/cpa/cpa_f_4.jpg | Bin 0 -> 3482 bytes
frontend/web/images/services/cpa/line-bg-services.png | Bin 0 -> 8366 bytes
frontend/web/images/services/cpa/line_smm.jpg | Bin 0 -> 1446 bytes
frontend/web/images/services/cpa/reason.jpg | Bin 0 -> 47480 bytes
frontend/web/images/services/cpa/road-analitic_f_1.jpg | Bin 0 -> 5755 bytes
frontend/web/images/services/cpa/road-analitic_f_2.jpg | Bin 0 -> 5779 bytes
frontend/web/images/services/cpa/road-analitic_f_3.jpg | Bin 0 -> 4787 bytes
frontend/web/images/services/cpa/road-analitic_f_4.jpg | Bin 0 -> 5381 bytes
frontend/web/images/services/cpa/road-analitic_f_5.jpg | Bin 0 -> 4603 bytes
frontend/web/images/services/cpa/road-analitic_f_6.jpg | Bin 0 -> 4924 bytes
frontend/web/images/services/cpa/road-cpa_f_1.jpg | Bin 0 -> 7413 bytes
frontend/web/images/services/cpa/road-cpa_f_2.jpg | Bin 0 -> 6099 bytes
frontend/web/images/services/cpa/road-cpa_f_3.jpg | Bin 0 -> 8145 bytes
frontend/web/images/services/cpa/road-cpa_f_4.jpg | Bin 0 -> 4762 bytes
frontend/web/images/services/cpa/road-cpa_f_5.jpg | Bin 0 -> 5418 bytes
frontend/web/images/services/cpa/road-cpa_f_6.jpg | Bin 0 -> 5642 bytes
frontend/web/images/services/cpa/road-cpa_f_7.jpg | Bin 0 -> 6001 bytes
frontend/web/images/services/cpa/road-cpa_f_8.jpg | Bin 0 -> 4910 bytes
frontend/web/images/services/cpa/road-seo.jpg | Bin 0 -> 14775 bytes
frontend/web/images/services/cpa/road-webcreat_f_1.jpg | Bin 0 -> 6672 bytes
frontend/web/images/services/cpa/road-webcreat_f_2.jpg | Bin 0 -> 4432 bytes
frontend/web/images/services/cpa/road-webcreat_f_3.jpg | Bin 0 -> 4584 bytes
frontend/web/images/services/cpa/road-webcreat_f_4.jpg | Bin 0 -> 6118 bytes
frontend/web/images/services/cpa/road-webcreat_f_5.jpg | Bin 0 -> 4591 bytes
frontend/web/images/services/cpa/road-webcreat_f_6.jpg | Bin 0 -> 4472 bytes
frontend/web/images/services/cpa/road-webcreat_f_7.jpg | Bin 0 -> 3593 bytes
frontend/web/images/services/cpa/road.jpg | Bin 0 -> 18429 bytes
frontend/web/images/services/cpa/seed.jpg | Bin 0 -> 4304 bytes
frontend/web/images/services/cpa/seo_f_1.png | Bin 0 -> 1147 bytes
frontend/web/images/services/cpa/seo_f_2.png | Bin 0 -> 1107 bytes
frontend/web/images/services/cpa/seo_f_3.png | Bin 0 -> 814 bytes
frontend/web/images/services/cpa/seti-cpa.jpg | Bin 0 -> 25194 bytes
frontend/web/images/services/cpa/seti_arrow.jpg | Bin 0 -> 5025 bytes
frontend/web/images/services/cpa/slide-1.jpg | Bin 0 -> 14714 bytes
frontend/web/images/services/cpa/slide-2.png | Bin 0 -> 22920 bytes
frontend/web/images/services/cpa/slide-3.png | Bin 0 -> 23103 bytes
frontend/web/images/services/cpa/smm_arrow.jpg | Bin 0 -> 4292 bytes
frontend/web/images/services/cpa/smm_f_2.jpg | Bin 0 -> 2330 bytes
frontend/web/images/services/cpa/soc_f_1.jpg | Bin 0 -> 3630 bytes
frontend/web/images/services/cpa/soc_f_2.jpg | Bin 0 -> 3972 bytes
frontend/web/images/services/cpa/soc_f_3.jpg | Bin 0 -> 4369 bytes
frontend/web/images/services/cpa/soc_f_4.jpg | Bin 0 -> 4099 bytes
frontend/web/images/services/cpa/soc_f_5.jpg | Bin 0 -> 3559 bytes
frontend/web/images/services/cpa/soc_f_6.jpg | Bin 0 -> 4225 bytes
frontend/web/images/services/cpa/soc_f_7.jpg | Bin 0 -> 4108 bytes
frontend/web/images/services/cpa/sveta.png | Bin 0 -> 78321 bytes
frontend/web/images/services/cpa/team-webcreat.jpg | Bin 0 -> 13850 bytes
frontend/web/images/services/cpa/why_cpa_f_1.jpg | Bin 0 -> 5243 bytes
frontend/web/images/services/cpa/why_cpa_f_11.jpg | Bin 0 -> 4382 bytes
frontend/web/images/services/cpa/why_cpa_f_2.jpg | Bin 0 -> 4098 bytes
frontend/web/images/services/cpa/why_cpa_f_3.jpg | Bin 0 -> 4382 bytes
frontend/web/images/services/cpa/why_cpa_f_4.jpg | Bin 0 -> 4764 bytes
frontend/web/images/services/cpa/why_cpa_f_5.jpg | Bin 0 -> 4962 bytes
frontend/web/images/services/cpa/why_cpa_f_6.jpg | Bin 0 -> 4913 bytes
frontend/web/images/services/cpa/why_cpa_f_7.jpg | Bin 0 -> 4499 bytes
frontend/web/images/services/cpa/why_cpa_f_8.jpg | Bin 0 -> 3922 bytes
frontend/web/images/services/cpc/b-audit-bg_smm.jpg | Bin 0 -> 354139 bytes
frontend/web/images/services/cpc/context-team.jpg | Bin 0 -> 14485 bytes
frontend/web/images/services/cpc/cpc-seed_f_1.png | Bin 0 -> 1049 bytes
frontend/web/images/services/cpc/cpc-seed_f_2.png | Bin 0 -> 698 bytes
frontend/web/images/services/cpc/cpc-seed_f_3.png | Bin 0 -> 1137 bytes
frontend/web/images/services/cpc/cpc.png | Bin 0 -> 4229 bytes
frontend/web/images/services/cpc/cpc_f_1.jpg | Bin 0 -> 3428 bytes
frontend/web/images/services/cpc/cpc_f_2.jpg | Bin 0 -> 2939 bytes
frontend/web/images/services/cpc/cpc_f_3.jpg | Bin 0 -> 3903 bytes
frontend/web/images/services/cpc/cpc_f_4.jpg | Bin 0 -> 3525 bytes
frontend/web/images/services/cpc/line-bg-services.png | Bin 0 -> 8366 bytes
frontend/web/images/services/cpc/line_smm.jpg | Bin 0 -> 1446 bytes
frontend/web/images/services/cpc/reason.jpg | Bin 0 -> 47480 bytes
frontend/web/images/services/cpc/road-content.jpg | Bin 0 -> 13798 bytes
frontend/web/images/services/cpc/road-cpc_f_1.jpg | Bin 0 -> 7413 bytes
frontend/web/images/services/cpc/road-cpc_f_2.jpg | Bin 0 -> 6379 bytes
frontend/web/images/services/cpc/road-cpc_f_3.jpg | Bin 0 -> 8145 bytes
frontend/web/images/services/cpc/road-cpc_f_4.jpg | Bin 0 -> 4674 bytes
frontend/web/images/services/cpc/road-cpc_f_5.jpg | Bin 0 -> 6403 bytes
frontend/web/images/services/cpc/road-cpc_f_6.jpg | Bin 0 -> 6785 bytes
frontend/web/images/services/cpc/road-cpc_f_7.jpg | Bin 0 -> 5709 bytes
frontend/web/images/services/cpc/road-cpc_f_8.png | Bin 0 -> 3931 bytes
frontend/web/images/services/cpc/seed.jpg | Bin 0 -> 4304 bytes
frontend/web/images/services/cpc/seti-cpc.jpg | Bin 0 -> 24707 bytes
frontend/web/images/services/cpc/seti_arrow.jpg | Bin 0 -> 5025 bytes
frontend/web/images/services/cpc/slide-1.jpg | Bin 0 -> 14714 bytes
frontend/web/images/services/cpc/slide-2.png | Bin 0 -> 22920 bytes
frontend/web/images/services/cpc/slide-3.png | Bin 0 -> 23103 bytes
frontend/web/images/services/cpc/smm_arrow.jpg | Bin 0 -> 4292 bytes
frontend/web/images/services/cpc/soc_f_1.jpg | Bin 0 -> 3630 bytes
frontend/web/images/services/cpc/soc_f_2.jpg | Bin 0 -> 3972 bytes
frontend/web/images/services/cpc/soc_f_3.jpg | Bin 0 -> 4369 bytes
frontend/web/images/services/cpc/soc_f_4.jpg | Bin 0 -> 4099 bytes
frontend/web/images/services/cpc/soc_f_5.jpg | Bin 0 -> 3559 bytes
frontend/web/images/services/cpc/soc_f_6.jpg | Bin 0 -> 4225 bytes
frontend/web/images/services/cpc/soc_f_7.jpg | Bin 0 -> 4108 bytes
frontend/web/images/services/cpc/why_cpc_f_1.jpg | Bin 0 -> 2986 bytes
frontend/web/images/services/cpc/why_cpc_f_10.jpg | Bin 0 -> 5302 bytes
frontend/web/images/services/cpc/why_cpc_f_2.jpg | Bin 0 -> 4489 bytes
frontend/web/images/services/cpc/why_cpc_f_3.jpg | Bin 0 -> 4170 bytes
frontend/web/images/services/cpc/why_cpc_f_4.jpg | Bin 0 -> 3642 bytes
frontend/web/images/services/cpc/why_cpc_f_5.jpg | Bin 0 -> 5281 bytes
frontend/web/images/services/cpc/why_cpc_f_6.jpg | Bin 0 -> 3642 bytes
frontend/web/images/services/cpc/why_cpc_f_7.jpg | Bin 0 -> 4032 bytes
frontend/web/images/services/cpc/why_cpc_f_8.jpg | Bin 0 -> 5025 bytes
frontend/web/images/services/cpc/why_cpc_f_9.jpg | Bin 0 -> 4198 bytes
frontend/web/images/services/cpc/yulia.png | Bin 0 -> 69056 bytes
frontend/web/images/services/cpc/Íîâûé òåêñòîâûé äîêóìåíò.txt | 1 +
frontend/web/images/services/design/analitic_f_1.jpg | Bin 0 -> 2471 bytes
frontend/web/images/services/design/analitic_f_2.jpg | Bin 0 -> 4659 bytes
frontend/web/images/services/design/analitic_f_3.jpg | Bin 0 -> 2330 bytes
frontend/web/images/services/design/analitic_f_4.jpg | Bin 0 -> 3815 bytes
frontend/web/images/services/design/andrey.png | Bin 0 -> 204312 bytes
frontend/web/images/services/design/b-audit-bg_smm.jpg | Bin 0 -> 354139 bytes
frontend/web/images/services/design/design.png | Bin 0 -> 5890 bytes
frontend/web/images/services/design/design_f_1.jpg | Bin 0 -> 4094 bytes
frontend/web/images/services/design/design_f_1.png | Bin 0 -> 3132 bytes
frontend/web/images/services/design/design_f_2.jpg | Bin 0 -> 2533 bytes
frontend/web/images/services/design/design_f_2.png | Bin 0 -> 2085 bytes
frontend/web/images/services/design/design_f_3.jpg | Bin 0 -> 3188 bytes
frontend/web/images/services/design/design_f_3.png | Bin 0 -> 2779 bytes
frontend/web/images/services/design/design_f_4.jpg | Bin 0 -> 3580 bytes
frontend/web/images/services/design/line-bg-services.png | Bin 0 -> 8366 bytes
frontend/web/images/services/design/line_smm.jpg | Bin 0 -> 1446 bytes
frontend/web/images/services/design/reason.jpg | Bin 0 -> 47480 bytes
frontend/web/images/services/design/road-design_f_1.jpg | Bin 0 -> 6570 bytes
frontend/web/images/services/design/road-design_f_2.jpg | Bin 0 -> 4432 bytes
frontend/web/images/services/design/road-design_f_3.jpg | Bin 0 -> 6165 bytes
frontend/web/images/services/design/road-design_f_4.jpg | Bin 0 -> 4432 bytes
frontend/web/images/services/design/road-design_f_5.jpg | Bin 0 -> 6020 bytes
frontend/web/images/services/design/road-design_f_6.jpg | Bin 0 -> 4721 bytes
frontend/web/images/services/design/road-design_f_7.jpg | Bin 0 -> 6118 bytes
frontend/web/images/services/design/road-design_f_8.jpg | Bin 0 -> 4584 bytes
frontend/web/images/services/design/road-segmnt.jpg | Bin 0 -> 12010 bytes
frontend/web/images/services/design/road.jpg | Bin 0 -> 18429 bytes
frontend/web/images/services/design/seed.jpg | Bin 0 -> 4304 bytes
frontend/web/images/services/design/seti-design.jpg | Bin 0 -> 23054 bytes
frontend/web/images/services/design/seti_arrow.jpg | Bin 0 -> 5025 bytes
frontend/web/images/services/design/slide-1.jpg | Bin 0 -> 14714 bytes
frontend/web/images/services/design/slide-2.png | Bin 0 -> 22920 bytes
frontend/web/images/services/design/slide-3.png | Bin 0 -> 23103 bytes
frontend/web/images/services/design/smm_arrow.jpg | Bin 0 -> 4292 bytes
frontend/web/images/services/design/smm_f_2.jpg | Bin 0 -> 2330 bytes
frontend/web/images/services/design/soc_f_1.jpg | Bin 0 -> 3630 bytes
frontend/web/images/services/design/soc_f_2.jpg | Bin 0 -> 3972 bytes
frontend/web/images/services/design/soc_f_3.jpg | Bin 0 -> 4369 bytes
frontend/web/images/services/design/soc_f_4.jpg | Bin 0 -> 4099 bytes
frontend/web/images/services/design/soc_f_5.jpg | Bin 0 -> 3559 bytes
frontend/web/images/services/design/soc_f_6.jpg | Bin 0 -> 4225 bytes
frontend/web/images/services/design/soc_f_7.jpg | Bin 0 -> 4108 bytes
frontend/web/images/services/design/team-webcreat.jpg | Bin 0 -> 13850 bytes
frontend/web/images/services/design/why_webdesign_f_1.jpg | Bin 0 -> 4382 bytes
frontend/web/images/services/design/why_webdesign_f_2.jpg | Bin 0 -> 4079 bytes
frontend/web/images/services/design/why_webdesign_f_3.jpg | Bin 0 -> 4780 bytes
frontend/web/images/services/design/why_webdesign_f_4.jpg | Bin 0 -> 4933 bytes
frontend/web/images/services/design/why_webdesign_f_5.jpg | Bin 0 -> 4593 bytes
frontend/web/images/services/design/why_webdesign_f_6.jpg | Bin 0 -> 4245 bytes
frontend/web/images/services/design/why_webdesign_f_7.jpg | Bin 0 -> 4112 bytes
frontend/web/images/services/design/why_webdesign_f_8.jpg | Bin 0 -> 3339 bytes
frontend/web/images/services/design/why_webdesign_f_9.jpg | Bin 0 -> 4456 bytes
frontend/web/images/services/email/b-audit-bg_smm.jpg | Bin 0 -> 354139 bytes
frontend/web/images/services/email/email.png | Bin 0 -> 3296 bytes
frontend/web/images/services/email/line-bg-services.png | Bin 0 -> 8366 bytes
frontend/web/images/services/email/line_smm.jpg | Bin 0 -> 1446 bytes
frontend/web/images/services/email/reason.jpg | Bin 0 -> 47480 bytes
frontend/web/images/services/email/road-email-1.jpg | Bin 0 -> 6177 bytes
frontend/web/images/services/email/road-email-10.jpg | Bin 0 -> 4357 bytes
frontend/web/images/services/email/road-email-11.jpg | Bin 0 -> 5020 bytes
frontend/web/images/services/email/road-email-12.jpg | Bin 0 -> 5916 bytes
frontend/web/images/services/email/road-email-2.jpg | Bin 0 -> 7220 bytes
frontend/web/images/services/email/road-email-3.jpg | Bin 0 -> 6260 bytes
frontend/web/images/services/email/road-email-4.jpg | Bin 0 -> 6750 bytes
frontend/web/images/services/email/road-email-5.jpg | Bin 0 -> 4573 bytes
frontend/web/images/services/email/road-email-6.jpg | Bin 0 -> 4729 bytes
frontend/web/images/services/email/road-email-7.jpg | Bin 0 -> 4842 bytes
frontend/web/images/services/email/road-email-8.jpg | Bin 0 -> 4371 bytes
frontend/web/images/services/email/road-email-9.jpg | Bin 0 -> 5017 bytes
frontend/web/images/services/email/road-email.jpg | Bin 0 -> 21272 bytes
frontend/web/images/services/email/road.jpg | Bin 0 -> 18429 bytes
frontend/web/images/services/email/seed_f_1.png | Bin 0 -> 967 bytes
frontend/web/images/services/email/seed_f_2.png | Bin 0 -> 893 bytes
frontend/web/images/services/email/seed_f_3.png | Bin 0 -> 914 bytes
frontend/web/images/services/email/seti-y-2.jpg | Bin 0 -> 22046 bytes
frontend/web/images/services/email/seti_arrow.jpg | Bin 0 -> 5025 bytes
frontend/web/images/services/email/slide-1.jpg | Bin 0 -> 14714 bytes
frontend/web/images/services/email/slide-2.png | Bin 0 -> 22920 bytes
frontend/web/images/services/email/slide-3.png | Bin 0 -> 23103 bytes
frontend/web/images/services/email/smm_arrow.jpg | Bin 0 -> 4292 bytes
frontend/web/images/services/email/smm_f_1.jpg | Bin 0 -> 3326 bytes
frontend/web/images/services/email/smm_f_2.jpg | Bin 0 -> 2616 bytes
frontend/web/images/services/email/smm_f_3.jpg | Bin 0 -> 2782 bytes
frontend/web/images/services/email/smm_f_4.jpg | Bin 0 -> 3122 bytes
frontend/web/images/services/email/soc_f_1.jpg | Bin 0 -> 3630 bytes
frontend/web/images/services/email/soc_f_2.jpg | Bin 0 -> 3972 bytes
frontend/web/images/services/email/soc_f_3.jpg | Bin 0 -> 4369 bytes
frontend/web/images/services/email/soc_f_4.jpg | Bin 0 -> 4099 bytes
frontend/web/images/services/email/soc_f_5.jpg | Bin 0 -> 3559 bytes
frontend/web/images/services/email/soc_f_6.jpg | Bin 0 -> 4225 bytes
frontend/web/images/services/email/soc_f_7.jpg | Bin 0 -> 4108 bytes
frontend/web/images/services/email/team.jpg | Bin 0 -> 13850 bytes
frontend/web/images/services/email/why_email_f_1.jpg | Bin 0 -> 2866 bytes
frontend/web/images/services/email/why_email_f_11.jpg | Bin 0 -> 2710 bytes
frontend/web/images/services/email/why_email_f_12.jpg | Bin 0 -> 3129 bytes
frontend/web/images/services/email/why_email_f_13.jpg | Bin 0 -> 2986 bytes
frontend/web/images/services/email/why_email_f_14.jpg | Bin 0 -> 3100 bytes
frontend/web/images/services/email/why_email_f_15.jpg | Bin 0 -> 2663 bytes
frontend/web/images/services/email/why_email_f_2.jpg | Bin 0 -> 3516 bytes
frontend/web/images/services/email/why_email_f_3.jpg | Bin 0 -> 2784 bytes
frontend/web/images/services/email/why_email_f_4.jpg | Bin 0 -> 2756 bytes
frontend/web/images/services/email/why_email_f_5.jpg | Bin 0 -> 2814 bytes
frontend/web/images/services/email/why_email_f_6.jpg | Bin 0 -> 2502 bytes
frontend/web/images/services/email/why_email_f_7.jpg | Bin 0 -> 2510 bytes
frontend/web/images/services/email/why_email_f_8.jpg | Bin 0 -> 2767 bytes
frontend/web/images/services/email/yulia.png | Bin 0 -> 69056 bytes
frontend/web/images/services/integration/andrey.png | Bin 0 -> 204312 bytes
frontend/web/images/services/integration/b-audit-bg_smm.jpg | Bin 0 -> 354139 bytes
frontend/web/images/services/integration/integracia.png | Bin 0 -> 3788 bytes
frontend/web/images/services/integration/integracia_f_1.jpg | Bin 0 -> 4416 bytes
frontend/web/images/services/integration/integracia_f_1.png | Bin 0 -> 949 bytes
frontend/web/images/services/integration/integracia_f_2.jpg | Bin 0 -> 3367 bytes
frontend/web/images/services/integration/integracia_f_2.png | Bin 0 -> 1225 bytes
frontend/web/images/services/integration/integracia_f_3.jpg | Bin 0 -> 3679 bytes
frontend/web/images/services/integration/integracia_f_3.png | Bin 0 -> 1214 bytes
frontend/web/images/services/integration/integracia_f_4.jpg | Bin 0 -> 4017 bytes
frontend/web/images/services/integration/line-bg-services.png | Bin 0 -> 8366 bytes
frontend/web/images/services/integration/line_smm.jpg | Bin 0 -> 1446 bytes
frontend/web/images/services/integration/reason.jpg | Bin 0 -> 47480 bytes
frontend/web/images/services/integration/road-integracia_f_1.jpg | Bin 0 -> 6672 bytes
frontend/web/images/services/integration/road-integracia_f_2.jpg | Bin 0 -> 4432 bytes
frontend/web/images/services/integration/road-integracia_f_3.jpg | Bin 0 -> 4584 bytes
frontend/web/images/services/integration/road-integracia_f_4.jpg | Bin 0 -> 6118 bytes
frontend/web/images/services/integration/road-integracia_f_5.jpg | Bin 0 -> 4926 bytes
frontend/web/images/services/integration/road-integracia_f_6.jpg | Bin 0 -> 6359 bytes
frontend/web/images/services/integration/road-integracia_f_7.jpg | Bin 0 -> 5947 bytes
frontend/web/images/services/integration/road-integracia_f_8.jpg | Bin 0 -> 3593 bytes
frontend/web/images/services/integration/road-segmnt.jpg | Bin 0 -> 12010 bytes
frontend/web/images/services/integration/seed.jpg | Bin 0 -> 4304 bytes
frontend/web/images/services/integration/seti-integracia.jpg | Bin 0 -> 25545 bytes
frontend/web/images/services/integration/seti_arrow.jpg | Bin 0 -> 5025 bytes
frontend/web/images/services/integration/slide-1.jpg | Bin 0 -> 14714 bytes
frontend/web/images/services/integration/slide-2.png | Bin 0 -> 22920 bytes
frontend/web/images/services/integration/slide-3.png | Bin 0 -> 23103 bytes
frontend/web/images/services/integration/smm_arrow.jpg | Bin 0 -> 4292 bytes
frontend/web/images/services/integration/smm_f_2.jpg | Bin 0 -> 2330 bytes
frontend/web/images/services/integration/soc_f_1.jpg | Bin 0 -> 3630 bytes
frontend/web/images/services/integration/soc_f_2.jpg | Bin 0 -> 3972 bytes
frontend/web/images/services/integration/soc_f_3.jpg | Bin 0 -> 4369 bytes
frontend/web/images/services/integration/soc_f_4.jpg | Bin 0 -> 4099 bytes
frontend/web/images/services/integration/soc_f_5.jpg | Bin 0 -> 3559 bytes
frontend/web/images/services/integration/soc_f_6.jpg | Bin 0 -> 4225 bytes
frontend/web/images/services/integration/soc_f_7.jpg | Bin 0 -> 4108 bytes
frontend/web/images/services/integration/team-integracia.jpg | Bin 0 -> 13940 bytes
frontend/web/images/services/integration/why_integracia_f_1.jpg | Bin 0 -> 2378 bytes
frontend/web/images/services/integration/why_integracia_f_10.jpg | Bin 0 -> 2750 bytes
frontend/web/images/services/integration/why_integracia_f_11.jpg | Bin 0 -> 2412 bytes
frontend/web/images/services/integration/why_integracia_f_2.jpg | Bin 0 -> 2547 bytes
frontend/web/images/services/integration/why_integracia_f_3.jpg | Bin 0 -> 2870 bytes
frontend/web/images/services/integration/why_integracia_f_4.jpg | Bin 0 -> 2330 bytes
frontend/web/images/services/integration/why_integracia_f_5.jpg | Bin 0 -> 2762 bytes
frontend/web/images/services/integration/why_integracia_f_6.jpg | Bin 0 -> 2185 bytes
frontend/web/images/services/integration/why_integracia_f_7.jpg | Bin 0 -> 2921 bytes
frontend/web/images/services/integration/why_integracia_f_8.jpg | Bin 0 -> 2673 bytes
frontend/web/images/services/integration/why_integracia_f_9.jpg | Bin 0 -> 2880 bytes
frontend/web/images/services/segmnt/anton.png | Bin 0 -> 50095 bytes
frontend/web/images/services/segmnt/b-audit-bg_smm.jpg | Bin 0 -> 354139 bytes
frontend/web/images/services/segmnt/line-bg-services.png | Bin 0 -> 8366 bytes
frontend/web/images/services/segmnt/line_smm.jpg | Bin 0 -> 1446 bytes
frontend/web/images/services/segmnt/reason.jpg | Bin 0 -> 47480 bytes
frontend/web/images/services/segmnt/road-segmnt.jpg | Bin 0 -> 12010 bytes
frontend/web/images/services/segmnt/road-segmnt_f_1.jpg | Bin 0 -> 6320 bytes
frontend/web/images/services/segmnt/road-segmnt_f_2.jpg | Bin 0 -> 5547 bytes
frontend/web/images/services/segmnt/road-segmnt_f_3.jpg | Bin 0 -> 5507 bytes
frontend/web/images/services/segmnt/road-segmnt_f_4.jpg | Bin 0 -> 5872 bytes
frontend/web/images/services/segmnt/road-segmnt_f_5.jpg | Bin 0 -> 5145 bytes
frontend/web/images/services/segmnt/road-segmnt_f_6.jpg | Bin 0 -> 5381 bytes
frontend/web/images/services/segmnt/road.jpg | Bin 0 -> 18429 bytes
frontend/web/images/services/segmnt/seed.jpg | Bin 0 -> 4304 bytes
frontend/web/images/services/segmnt/seed_f_1.png | Bin 0 -> 967 bytes
frontend/web/images/services/segmnt/seed_f_2.png | Bin 0 -> 893 bytes
frontend/web/images/services/segmnt/seed_f_3.png | Bin 0 -> 914 bytes
frontend/web/images/services/segmnt/segmnt.png | Bin 0 -> 4733 bytes
frontend/web/images/services/segmnt/segmnt_f_1.jpg | Bin 0 -> 5787 bytes
frontend/web/images/services/segmnt/segmnt_f_2.jpg | Bin 0 -> 2616 bytes
frontend/web/images/services/segmnt/segmnt_f_3.jpg | Bin 0 -> 4659 bytes
frontend/web/images/services/segmnt/segmnt_f_4.jpg | Bin 0 -> 3122 bytes
frontend/web/images/services/segmnt/seti-segmnt.jpg | Bin 0 -> 23548 bytes
frontend/web/images/services/segmnt/seti_arrow.jpg | Bin 0 -> 5025 bytes
frontend/web/images/services/segmnt/slide-1.jpg | Bin 0 -> 14714 bytes
frontend/web/images/services/segmnt/slide-2.png | Bin 0 -> 22920 bytes
frontend/web/images/services/segmnt/slide-3.png | Bin 0 -> 23103 bytes
frontend/web/images/services/segmnt/smm_arrow.jpg | Bin 0 -> 4292 bytes
frontend/web/images/services/segmnt/soc_f_1.jpg | Bin 0 -> 3630 bytes
frontend/web/images/services/segmnt/soc_f_2.jpg | Bin 0 -> 3972 bytes
frontend/web/images/services/segmnt/soc_f_3.jpg | Bin 0 -> 4369 bytes
frontend/web/images/services/segmnt/soc_f_4.jpg | Bin 0 -> 4099 bytes
frontend/web/images/services/segmnt/soc_f_5.jpg | Bin 0 -> 3559 bytes
frontend/web/images/services/segmnt/soc_f_6.jpg | Bin 0 -> 4225 bytes
frontend/web/images/services/segmnt/soc_f_7.jpg | Bin 0 -> 4108 bytes
frontend/web/images/services/segmnt/team-segmnt.jpg | Bin 0 -> 10832 bytes
frontend/web/images/services/segmnt/why_segmnt_f_1.jpg | Bin 0 -> 2359 bytes
frontend/web/images/services/segmnt/why_segmnt_f_10.jpg | Bin 0 -> 2487 bytes
frontend/web/images/services/segmnt/why_segmnt_f_2.jpg | Bin 0 -> 2385 bytes
frontend/web/images/services/segmnt/why_segmnt_f_3.jpg | Bin 0 -> 2881 bytes
frontend/web/images/services/segmnt/why_segmnt_f_4.jpg | Bin 0 -> 2828 bytes
frontend/web/images/services/segmnt/why_segmnt_f_5.jpg | Bin 0 -> 2704 bytes
frontend/web/images/services/segmnt/why_segmnt_f_6.jpg | Bin 0 -> 2526 bytes
frontend/web/images/services/segmnt/why_segmnt_f_7.jpg | Bin 0 -> 2521 bytes
frontend/web/images/services/segmnt/why_segmnt_f_8.jpg | Bin 0 -> 2828 bytes
frontend/web/images/services/segmnt/why_segmnt_f_9.jpg | Bin 0 -> 2632 bytes
frontend/web/images/services/seo/anton.png | Bin 0 -> 50095 bytes
frontend/web/images/services/seo/b-audit-bg_smm.jpg | Bin 0 -> 354139 bytes
frontend/web/images/services/seo/line-bg-services.png | Bin 0 -> 8366 bytes
frontend/web/images/services/seo/line_smm.jpg | Bin 0 -> 1446 bytes
frontend/web/images/services/seo/reason.jpg | Bin 0 -> 47480 bytes
frontend/web/images/services/seo/road-analitic_f_1.jpg | Bin 0 -> 5755 bytes
frontend/web/images/services/seo/road-analitic_f_2.jpg | Bin 0 -> 5779 bytes
frontend/web/images/services/seo/road-analitic_f_3.jpg | Bin 0 -> 4787 bytes
frontend/web/images/services/seo/road-analitic_f_4.jpg | Bin 0 -> 5381 bytes
frontend/web/images/services/seo/road-analitic_f_5.jpg | Bin 0 -> 4603 bytes
frontend/web/images/services/seo/road-analitic_f_6.jpg | Bin 0 -> 4924 bytes
frontend/web/images/services/seo/road-seo.jpg | Bin 0 -> 14775 bytes
frontend/web/images/services/seo/road-webcreat_f_1.jpg | Bin 0 -> 6672 bytes
frontend/web/images/services/seo/road-webcreat_f_2.jpg | Bin 0 -> 4432 bytes
frontend/web/images/services/seo/road-webcreat_f_3.jpg | Bin 0 -> 4584 bytes
frontend/web/images/services/seo/road-webcreat_f_4.jpg | Bin 0 -> 6118 bytes
frontend/web/images/services/seo/road-webcreat_f_5.jpg | Bin 0 -> 4591 bytes
frontend/web/images/services/seo/road-webcreat_f_6.jpg | Bin 0 -> 4472 bytes
frontend/web/images/services/seo/road-webcreat_f_7.jpg | Bin 0 -> 3593 bytes
frontend/web/images/services/seo/road.jpg | Bin 0 -> 18429 bytes
frontend/web/images/services/seo/seed.jpg | Bin 0 -> 4304 bytes
frontend/web/images/services/seo/seo.png | Bin 0 -> 4718 bytes
frontend/web/images/services/seo/seo_f_1.jpg | Bin 0 -> 3475 bytes
frontend/web/images/services/seo/seo_f_1.png | Bin 0 -> 1147 bytes
frontend/web/images/services/seo/seo_f_2.jpg | Bin 0 -> 2616 bytes
frontend/web/images/services/seo/seo_f_2.png | Bin 0 -> 1107 bytes
frontend/web/images/services/seo/seo_f_3.jpg | Bin 0 -> 2975 bytes
frontend/web/images/services/seo/seo_f_3.png | Bin 0 -> 814 bytes
frontend/web/images/services/seo/seo_f_4.jpg | Bin 0 -> 3122 bytes
frontend/web/images/services/seo/seti-webcreat.jpg | Bin 0 -> 29494 bytes
frontend/web/images/services/seo/seti_arrow.jpg | Bin 0 -> 5025 bytes
frontend/web/images/services/seo/slide-1.jpg | Bin 0 -> 14714 bytes
frontend/web/images/services/seo/slide-2.png | Bin 0 -> 22920 bytes
frontend/web/images/services/seo/slide-3.png | Bin 0 -> 23103 bytes
frontend/web/images/services/seo/smm_arrow.jpg | Bin 0 -> 4292 bytes
frontend/web/images/services/seo/smm_f_2.jpg | Bin 0 -> 2330 bytes
frontend/web/images/services/seo/soc_f_1.jpg | Bin 0 -> 3630 bytes
frontend/web/images/services/seo/soc_f_2.jpg | Bin 0 -> 3972 bytes
frontend/web/images/services/seo/soc_f_3.jpg | Bin 0 -> 4369 bytes
frontend/web/images/services/seo/soc_f_4.jpg | Bin 0 -> 4099 bytes
frontend/web/images/services/seo/soc_f_5.jpg | Bin 0 -> 3559 bytes
frontend/web/images/services/seo/soc_f_6.jpg | Bin 0 -> 4225 bytes
frontend/web/images/services/seo/soc_f_7.jpg | Bin 0 -> 4108 bytes
frontend/web/images/services/seo/team-webcreat.jpg | Bin 0 -> 13850 bytes
frontend/web/images/services/seo/why_seot_f_1.jpg | Bin 0 -> 4047 bytes
frontend/web/images/services/seo/why_seot_f_10.jpg | Bin 0 -> 6862 bytes
frontend/web/images/services/seo/why_seot_f_11.jpg | Bin 0 -> 5781 bytes
frontend/web/images/services/seo/why_seot_f_12.jpg | Bin 0 -> 5148 bytes
frontend/web/images/services/seo/why_seot_f_13.jpg | Bin 0 -> 4414 bytes
frontend/web/images/services/seo/why_seot_f_14.jpg | Bin 0 -> 5289 bytes
frontend/web/images/services/seo/why_seot_f_15.jpg | Bin 0 -> 5446 bytes
frontend/web/images/services/seo/why_seot_f_2.jpg | Bin 0 -> 5261 bytes
frontend/web/images/services/seo/why_seot_f_3.jpg | Bin 0 -> 4906 bytes
frontend/web/images/services/seo/why_seot_f_4.jpg | Bin 0 -> 6884 bytes
frontend/web/images/services/seo/why_seot_f_5.jpg | Bin 0 -> 4112 bytes
frontend/web/images/services/seo/why_seot_f_6.jpg | Bin 0 -> 3714 bytes
frontend/web/images/services/seo/why_seot_f_7.jpg | Bin 0 -> 4506 bytes
frontend/web/images/services/seo/why_seot_f_8.jpg | Bin 0 -> 4830 bytes
frontend/web/images/services/seo/why_seot_f_9.jpg | Bin 0 -> 4628 bytes
frontend/web/images/services/serm/b-audit-bg_smm.jpg | Bin 0 -> 354139 bytes
frontend/web/images/services/serm/line-bg-services.png | Bin 0 -> 8366 bytes
frontend/web/images/services/serm/line_smm.jpg | Bin 0 -> 1446 bytes
frontend/web/images/services/serm/reason.jpg | Bin 0 -> 47480 bytes
frontend/web/images/services/serm/road.jpg | Bin 0 -> 18429 bytes
frontend/web/images/services/serm/road_f_1.jpg | Bin 0 -> 7413 bytes
frontend/web/images/services/serm/road_f_2.jpg | Bin 0 -> 6662 bytes
frontend/web/images/services/serm/road_f_3.jpg | Bin 0 -> 6254 bytes
frontend/web/images/services/serm/road_f_4.jpg | Bin 0 -> 5911 bytes
frontend/web/images/services/serm/road_f_5.jpg | Bin 0 -> 7018 bytes
frontend/web/images/services/serm/road_f_6.jpg | Bin 0 -> 6110 bytes
frontend/web/images/services/serm/road_f_7.jpg | Bin 0 -> 5768 bytes
frontend/web/images/services/serm/road_f_8.jpg | Bin 0 -> 6185 bytes
frontend/web/images/services/serm/road_serm-1.jpg | Bin 0 -> 5916 bytes
frontend/web/images/services/serm/road_serm-2.jpg | Bin 0 -> 5020 bytes
frontend/web/images/services/serm/road_serm-3.jpg | Bin 0 -> 4398 bytes
frontend/web/images/services/serm/road_serm-4.jpg | Bin 0 -> 6750 bytes
frontend/web/images/services/serm/road_serm-5.jpg | Bin 0 -> 4573 bytes
frontend/web/images/services/serm/road_serm-6.jpg | Bin 0 -> 4915 bytes
frontend/web/images/services/serm/road_serm-7.jpg | Bin 0 -> 5017 bytes
frontend/web/images/services/serm/road_serm-8.jpg | Bin 0 -> 5203 bytes
frontend/web/images/services/serm/seed_f_1.png | Bin 0 -> 967 bytes
frontend/web/images/services/serm/seed_f_2.png | Bin 0 -> 893 bytes
frontend/web/images/services/serm/seed_f_3.png | Bin 0 -> 914 bytes
frontend/web/images/services/serm/serm.png | Bin 0 -> 4667 bytes
frontend/web/images/services/serm/seti-y.jpg | Bin 0 -> 27174 bytes
frontend/web/images/services/serm/seti_arrow.jpg | Bin 0 -> 5025 bytes
frontend/web/images/services/serm/slide-1.jpg | Bin 0 -> 14714 bytes
frontend/web/images/services/serm/slide-2.png | Bin 0 -> 22920 bytes
frontend/web/images/services/serm/slide-3.png | Bin 0 -> 23103 bytes
frontend/web/images/services/serm/smm_arrow.jpg | Bin 0 -> 4292 bytes
frontend/web/images/services/serm/smm_f_1.jpg | Bin 0 -> 3326 bytes
frontend/web/images/services/serm/smm_f_2.jpg | Bin 0 -> 2616 bytes
frontend/web/images/services/serm/smm_f_3.jpg | Bin 0 -> 2782 bytes
frontend/web/images/services/serm/smm_f_4.jpg | Bin 0 -> 3122 bytes
frontend/web/images/services/serm/soc_f_1.jpg | Bin 0 -> 3630 bytes
frontend/web/images/services/serm/soc_f_2.jpg | Bin 0 -> 3972 bytes
frontend/web/images/services/serm/soc_f_3.jpg | Bin 0 -> 4369 bytes
frontend/web/images/services/serm/soc_f_4.jpg | Bin 0 -> 4099 bytes
frontend/web/images/services/serm/soc_f_5.jpg | Bin 0 -> 3559 bytes
frontend/web/images/services/serm/soc_f_6.jpg | Bin 0 -> 4225 bytes
frontend/web/images/services/serm/soc_f_7.jpg | Bin 0 -> 4108 bytes
frontend/web/images/services/serm/team.jpg | Bin 0 -> 13850 bytes
frontend/web/images/services/serm/why_serm_f_1.jpg | Bin 0 -> 3305 bytes
frontend/web/images/services/serm/why_serm_f_10.jpg | Bin 0 -> 2747 bytes
frontend/web/images/services/serm/why_serm_f_11.jpg | Bin 0 -> 2294 bytes
frontend/web/images/services/serm/why_serm_f_12.jpg | Bin 0 -> 3016 bytes
frontend/web/images/services/serm/why_serm_f_13.jpg | Bin 0 -> 3205 bytes
frontend/web/images/services/serm/why_serm_f_14.jpg | Bin 0 -> 3265 bytes
frontend/web/images/services/serm/why_serm_f_2.jpg | Bin 0 -> 2921 bytes
frontend/web/images/services/serm/why_serm_f_3.jpg | Bin 0 -> 2771 bytes
frontend/web/images/services/serm/why_serm_f_4.jpg | Bin 0 -> 2617 bytes
frontend/web/images/services/serm/why_serm_f_5.jpg | Bin 0 -> 3013 bytes
frontend/web/images/services/serm/why_serm_f_6.jpg | Bin 0 -> 2905 bytes
frontend/web/images/services/serm/why_serm_f_7.jpg | Bin 0 -> 2487 bytes
frontend/web/images/services/serm/why_serm_f_8.jpg | Bin 0 -> 2452 bytes
frontend/web/images/services/serm/why_serm_f_9.jpg | Bin 0 -> 2392 bytes
frontend/web/images/services/serm/work_1.jpg | Bin 0 -> 1884 bytes
frontend/web/images/services/serm/work_2.jpg | Bin 0 -> 1888 bytes
frontend/web/images/services/serm/work_3.jpg | Bin 0 -> 2381 bytes
frontend/web/images/services/serm/work_4.jpg | Bin 0 -> 2678 bytes
frontend/web/images/services/serm/work_5.jpg | Bin 0 -> 2398 bytes
frontend/web/images/services/serm/work_6.jpg | Bin 0 -> 2619 bytes
frontend/web/images/services/serm/work_7.jpg | Bin 0 -> 2586 bytes
frontend/web/images/services/serm/work_8.jpg | Bin 0 -> 2822 bytes
frontend/web/images/services/serm/yulia.png | Bin 0 -> 69056 bytes
frontend/web/images/services/smm/artem.png | Bin 0 -> 66692 bytes
frontend/web/images/services/smm/b-audit-bg_smm.jpg | Bin 0 -> 354139 bytes
frontend/web/images/services/smm/line-bg-services.png | Bin 0 -> 8366 bytes
frontend/web/images/services/smm/line_smm.jpg | Bin 0 -> 1446 bytes
frontend/web/images/services/smm/reason.jpg | Bin 0 -> 47480 bytes
frontend/web/images/services/smm/road.jpg | Bin 0 -> 18429 bytes
frontend/web/images/services/smm/road_f_1.jpg | Bin 0 -> 7413 bytes
frontend/web/images/services/smm/road_f_2.jpg | Bin 0 -> 6662 bytes
frontend/web/images/services/smm/road_f_3.jpg | Bin 0 -> 6254 bytes
frontend/web/images/services/smm/road_f_4.jpg | Bin 0 -> 5911 bytes
frontend/web/images/services/smm/road_f_5.jpg | Bin 0 -> 7018 bytes
frontend/web/images/services/smm/road_f_6.jpg | Bin 0 -> 6110 bytes
frontend/web/images/services/smm/road_f_7.jpg | Bin 0 -> 5768 bytes
frontend/web/images/services/smm/road_f_8.jpg | Bin 0 -> 6185 bytes
frontend/web/images/services/smm/seed.jpg | Bin 0 -> 4304 bytes
frontend/web/images/services/smm/seed_f_1.png | Bin 0 -> 967 bytes
frontend/web/images/services/smm/seed_f_2.png | Bin 0 -> 893 bytes
frontend/web/images/services/smm/seed_f_3.png | Bin 0 -> 914 bytes
frontend/web/images/services/smm/seti.jpg | Bin 0 -> 20809 bytes
frontend/web/images/services/smm/seti_arrow.jpg | Bin 0 -> 5025 bytes
frontend/web/images/services/smm/slide-1.jpg | Bin 0 -> 14714 bytes
frontend/web/images/services/smm/slide-2.png | Bin 0 -> 22920 bytes
frontend/web/images/services/smm/slide-3.png | Bin 0 -> 23103 bytes
frontend/web/images/services/smm/smm.png | Bin 0 -> 4562 bytes
frontend/web/images/services/smm/smm_arrow.jpg | Bin 0 -> 4292 bytes
frontend/web/images/services/smm/smm_f_1.jpg | Bin 0 -> 3326 bytes
frontend/web/images/services/smm/smm_f_2.jpg | Bin 0 -> 2616 bytes
frontend/web/images/services/smm/smm_f_3.jpg | Bin 0 -> 2782 bytes
frontend/web/images/services/smm/smm_f_4.jpg | Bin 0 -> 3122 bytes
frontend/web/images/services/smm/soc_f_1.jpg | Bin 0 -> 3630 bytes
frontend/web/images/services/smm/soc_f_2.jpg | Bin 0 -> 3972 bytes
frontend/web/images/services/smm/soc_f_3.jpg | Bin 0 -> 4369 bytes
frontend/web/images/services/smm/soc_f_4.jpg | Bin 0 -> 4099 bytes
frontend/web/images/services/smm/soc_f_5.jpg | Bin 0 -> 3559 bytes
frontend/web/images/services/smm/soc_f_6.jpg | Bin 0 -> 4225 bytes
frontend/web/images/services/smm/soc_f_7.jpg | Bin 0 -> 4108 bytes
frontend/web/images/services/smm/team.jpg | Bin 0 -> 13850 bytes
frontend/web/images/services/smm/why_smm_f_1.jpg | Bin 0 -> 2568 bytes
frontend/web/images/services/smm/why_smm_f_2.jpg | Bin 0 -> 2960 bytes
frontend/web/images/services/smm/why_smm_f_3.jpg | Bin 0 -> 2796 bytes
frontend/web/images/services/smm/why_smm_f_4.jpg | Bin 0 -> 2568 bytes
frontend/web/images/services/smm/why_smm_f_5.jpg | Bin 0 -> 2691 bytes
frontend/web/images/services/smm/why_smm_f_6.jpg | Bin 0 -> 2750 bytes
frontend/web/images/services/smm/why_smm_f_7.jpg | Bin 0 -> 2728 bytes
frontend/web/images/services/smm/why_smm_f_8.jpg | Bin 0 -> 2877 bytes
frontend/web/images/services/usability/analiz-1.jpg | Bin 0 -> 4350 bytes
frontend/web/images/services/usability/analiz-2.jpg | Bin 0 -> 4095 bytes
frontend/web/images/services/usability/analiz-3.jpg | Bin 0 -> 4841 bytes
frontend/web/images/services/usability/analiz-4.jpg | Bin 0 -> 4257 bytes
frontend/web/images/services/usability/analiz-5.jpg | Bin 0 -> 4384 bytes
frontend/web/images/services/usability/analiz-6.jpg | Bin 0 -> 5081 bytes
frontend/web/images/services/usability/analiz-7.jpg | Bin 0 -> 3928 bytes
frontend/web/images/services/usability/analiz-8.jpg | Bin 0 -> 4299 bytes
frontend/web/images/services/usability/anton.png | Bin 0 -> 50095 bytes
frontend/web/images/services/usability/b-audit-bg_smm.jpg | Bin 0 -> 354139 bytes
frontend/web/images/services/usability/line-bg-services.png | Bin 0 -> 8366 bytes
frontend/web/images/services/usability/line_smm.jpg | Bin 0 -> 1446 bytes
frontend/web/images/services/usability/reason.jpg | Bin 0 -> 47480 bytes
frontend/web/images/services/usability/seed.jpg | Bin 0 -> 4304 bytes
frontend/web/images/services/usability/seed_f_1.png | Bin 0 -> 967 bytes
frontend/web/images/services/usability/seed_f_2.png | Bin 0 -> 893 bytes
frontend/web/images/services/usability/seed_f_3.png | Bin 0 -> 914 bytes
frontend/web/images/services/usability/servise-1.jpg | Bin 0 -> 4719 bytes
frontend/web/images/services/usability/servise-2.jpg | Bin 0 -> 3152 bytes
frontend/web/images/services/usability/servise-3.jpg | Bin 0 -> 4405 bytes
frontend/web/images/services/usability/seti_arrow.jpg | Bin 0 -> 5025 bytes
frontend/web/images/services/usability/slide-1.jpg | Bin 0 -> 14714 bytes
frontend/web/images/services/usability/slide-2.png | Bin 0 -> 22920 bytes
frontend/web/images/services/usability/slide-3.png | Bin 0 -> 23103 bytes
frontend/web/images/services/usability/smm_arrow.jpg | Bin 0 -> 4292 bytes
frontend/web/images/services/usability/smm_f_2.jpg | Bin 0 -> 2616 bytes
frontend/web/images/services/usability/smm_f_3.jpg | Bin 0 -> 2782 bytes
frontend/web/images/services/usability/smm_f_4.jpg | Bin 0 -> 3122 bytes
frontend/web/images/services/usability/soc_f_1.jpg | Bin 0 -> 3630 bytes
frontend/web/images/services/usability/soc_f_2.jpg | Bin 0 -> 3972 bytes
frontend/web/images/services/usability/soc_f_3.jpg | Bin 0 -> 4369 bytes
frontend/web/images/services/usability/soc_f_4.jpg | Bin 0 -> 4099 bytes
frontend/web/images/services/usability/soc_f_5.jpg | Bin 0 -> 3559 bytes
frontend/web/images/services/usability/soc_f_6.jpg | Bin 0 -> 4225 bytes
frontend/web/images/services/usability/soc_f_7.jpg | Bin 0 -> 4108 bytes
frontend/web/images/services/usability/team.jpg | Bin 0 -> 13850 bytes
frontend/web/images/services/usability/uability_f_4.jpg | Bin 0 -> 3336 bytes
frontend/web/images/services/usability/usability-site.jpg | Bin 0 -> 14213 bytes
frontend/web/images/services/usability/usability.jpg | Bin 0 -> 20457 bytes
frontend/web/images/services/usability/usability.png | Bin 0 -> 4501 bytes
frontend/web/images/services/usability/why_usability_f_1.jpg | Bin 0 -> 2629 bytes
frontend/web/images/services/usability/why_usability_f_2.jpg | Bin 0 -> 2641 bytes
frontend/web/images/services/usability/why_usability_f_3.jpg | Bin 0 -> 2852 bytes
frontend/web/images/services/usability/why_usability_f_4.jpg | Bin 0 -> 2691 bytes
frontend/web/images/services/usability/why_usability_f_5.jpg | Bin 0 -> 2600 bytes
frontend/web/images/services/usability/why_usability_f_6.jpg | Bin 0 -> 2794 bytes
frontend/web/images/services/usability/why_usability_f_7.jpg | Bin 0 -> 2427 bytes
frontend/web/images/services/usability/why_usability_f_8.jpg | Bin 0 -> 2592 bytes
frontend/web/images/services/webcreat/analitic_f_1.jpg | Bin 0 -> 2471 bytes
frontend/web/images/services/webcreat/analitic_f_2.jpg | Bin 0 -> 4659 bytes
frontend/web/images/services/webcreat/analitic_f_3.jpg | Bin 0 -> 2330 bytes
frontend/web/images/services/webcreat/analitic_f_4.jpg | Bin 0 -> 3815 bytes
frontend/web/images/services/webcreat/andrey.png | Bin 0 -> 204312 bytes
frontend/web/images/services/webcreat/b-audit-bg_smm.jpg | Bin 0 -> 354139 bytes
frontend/web/images/services/webcreat/line-bg-services.png | Bin 0 -> 8366 bytes
frontend/web/images/services/webcreat/line_smm.jpg | Bin 0 -> 1446 bytes
frontend/web/images/services/webcreat/reason.jpg | Bin 0 -> 47480 bytes
frontend/web/images/services/webcreat/road-analitic_f_1.jpg | Bin 0 -> 5755 bytes
frontend/web/images/services/webcreat/road-analitic_f_2.jpg | Bin 0 -> 5779 bytes
frontend/web/images/services/webcreat/road-analitic_f_3.jpg | Bin 0 -> 4787 bytes
frontend/web/images/services/webcreat/road-analitic_f_4.jpg | Bin 0 -> 5381 bytes
frontend/web/images/services/webcreat/road-analitic_f_5.jpg | Bin 0 -> 4603 bytes
frontend/web/images/services/webcreat/road-analitic_f_6.jpg | Bin 0 -> 4924 bytes
frontend/web/images/services/webcreat/road-segmnt.jpg | Bin 0 -> 12010 bytes
frontend/web/images/services/webcreat/road-webcreat_f_1.jpg | Bin 0 -> 6672 bytes
frontend/web/images/services/webcreat/road-webcreat_f_2.jpg | Bin 0 -> 4432 bytes
frontend/web/images/services/webcreat/road-webcreat_f_3.jpg | Bin 0 -> 4584 bytes
frontend/web/images/services/webcreat/road-webcreat_f_4.jpg | Bin 0 -> 6118 bytes
frontend/web/images/services/webcreat/road-webcreat_f_5.jpg | Bin 0 -> 4591 bytes
frontend/web/images/services/webcreat/road-webcreat_f_6.jpg | Bin 0 -> 4472 bytes
frontend/web/images/services/webcreat/road-webcreat_f_7.jpg | Bin 0 -> 3593 bytes
frontend/web/images/services/webcreat/road.jpg | Bin 0 -> 18429 bytes
frontend/web/images/services/webcreat/seed.jpg | Bin 0 -> 4304 bytes
frontend/web/images/services/webcreat/seti-webcreat.jpg | Bin 0 -> 29494 bytes
frontend/web/images/services/webcreat/seti_arrow.jpg | Bin 0 -> 5025 bytes
frontend/web/images/services/webcreat/slide-1.jpg | Bin 0 -> 14714 bytes
frontend/web/images/services/webcreat/slide-2.png | Bin 0 -> 22920 bytes
frontend/web/images/services/webcreat/slide-3.png | Bin 0 -> 23103 bytes
frontend/web/images/services/webcreat/smm_arrow.jpg | Bin 0 -> 4292 bytes
frontend/web/images/services/webcreat/smm_f_2.jpg | Bin 0 -> 2330 bytes
frontend/web/images/services/webcreat/soc_f_1.jpg | Bin 0 -> 3630 bytes
frontend/web/images/services/webcreat/soc_f_2.jpg | Bin 0 -> 3972 bytes
frontend/web/images/services/webcreat/soc_f_3.jpg | Bin 0 -> 4369 bytes
frontend/web/images/services/webcreat/soc_f_4.jpg | Bin 0 -> 4099 bytes
frontend/web/images/services/webcreat/soc_f_5.jpg | Bin 0 -> 3559 bytes
frontend/web/images/services/webcreat/soc_f_6.jpg | Bin 0 -> 4225 bytes
frontend/web/images/services/webcreat/soc_f_7.jpg | Bin 0 -> 4108 bytes
frontend/web/images/services/webcreat/team-webcreat.jpg | Bin 0 -> 13850 bytes
frontend/web/images/services/webcreat/webcreat.png | Bin 0 -> 4423 bytes
frontend/web/images/services/webcreat/webcreat_f_1.png | Bin 0 -> 949 bytes
frontend/web/images/services/webcreat/webcreat_f_2.png | Bin 0 -> 1003 bytes
frontend/web/images/services/webcreat/webcreat_f_3.png | Bin 0 -> 864 bytes
frontend/web/images/services/webcreat/why_webcreat_f_1.jpg | Bin 0 -> 4138 bytes
frontend/web/images/services/webcreat/why_webcreat_f_10.jpg | Bin 0 -> 5852 bytes
frontend/web/images/services/webcreat/why_webcreat_f_11.jpg | Bin 0 -> 5262 bytes
frontend/web/images/services/webcreat/why_webcreat_f_2.jpg | Bin 0 -> 5938 bytes
frontend/web/images/services/webcreat/why_webcreat_f_3.jpg | Bin 0 -> 4450 bytes
frontend/web/images/services/webcreat/why_webcreat_f_4.jpg | Bin 0 -> 4653 bytes
frontend/web/images/services/webcreat/why_webcreat_f_5.jpg | Bin 0 -> 4047 bytes
frontend/web/images/services/webcreat/why_webcreat_f_6.jpg | Bin 0 -> 4691 bytes
frontend/web/images/services/webcreat/why_webcreat_f_7.jpg | Bin 0 -> 3993 bytes
frontend/web/images/services/webcreat/why_webcreat_f_8.jpg | Bin 0 -> 4844 bytes
frontend/web/images/services/webcreat/why_webcreat_f_9.jpg | Bin 0 -> 4579 bytes
frontend/web/images/skit-btn.png | Bin 0 -> 435 bytes
frontend/web/images/soc-1.jpg | Bin 0 -> 1946 bytes
frontend/web/images/soc-2.jpg | Bin 0 -> 1865 bytes
frontend/web/images/soc-3.jpg | Bin 0 -> 2049 bytes
frontend/web/images/soc-4.jpg | Bin 0 -> 1999 bytes
frontend/web/images/soc-5.jpg | Bin 0 -> 1909 bytes
frontend/web/images/social-ico.png | Bin 0 -> 2739 bytes
frontend/web/images/team-plus-bg-2.png | Bin 0 -> 641164 bytes
frontend/web/images/team-plus-bg.png | Bin 0 -> 2605 bytes
frontend/web/images/team-plus-click.png | Bin 0 -> 670 bytes
frontend/web/images/team-plus.png | Bin 0 -> 594 bytes
frontend/web/images/teamitem/ajax-loader.gif | Bin 0 -> 723 bytes
frontend/web/images/teamitem/book_1.jpg | Bin 0 -> 12823 bytes
frontend/web/images/teamitem/book_2.jpg | Bin 0 -> 12727 bytes
frontend/web/images/teamitem/book_3.jpg | Bin 0 -> 11193 bytes
frontend/web/images/teamitem/book_4.jpg | Bin 0 -> 13393 bytes
frontend/web/images/teamitem/book_5.jpg | Bin 0 -> 11289 bytes
frontend/web/images/teamitem/fb.png | Bin 0 -> 325 bytes
frontend/web/images/teamitem/film_1.jpg | Bin 0 -> 8819 bytes
frontend/web/images/teamitem/film_2.jpg | Bin 0 -> 8149 bytes
frontend/web/images/teamitem/film_3.jpg | Bin 0 -> 7596 bytes
frontend/web/images/teamitem/film_4.jpg | Bin 0 -> 10671 bytes
frontend/web/images/teamitem/film_5.jpg | Bin 0 -> 9447 bytes
frontend/web/images/teamitem/iq.png | Bin 0 -> 903 bytes
frontend/web/images/teamitem/mail.jpg | Bin 0 -> 1774 bytes
frontend/web/images/teamitem/min_1.png | Bin 0 -> 570 bytes
frontend/web/images/teamitem/min_2.png | Bin 0 -> 763 bytes
frontend/web/images/teamitem/min_3.png | Bin 0 -> 389 bytes
frontend/web/images/teamitem/min_4.png | Bin 0 -> 655 bytes
frontend/web/images/teamitem/min_5.png | Bin 0 -> 948 bytes
frontend/web/images/teamitem/stars 2.png | Bin 0 -> 4437 bytes
frontend/web/images/teamitem/stars.png | Bin 0 -> 3524 bytes
frontend/web/images/teamitem/sveta.jpg | Bin 0 -> 142441 bytes
frontend/web/images/teamitem/twitter.png | Bin 0 -> 429 bytes
frontend/web/images/teamitem/vk.png | Bin 0 -> 397 bytes
frontend/web/images/teamitem/zodiak_vodoley.png | Bin 0 -> 674 bytes
frontend/web/images/vacancies/arrow-slider-left-active.png | Bin 0 -> 606 bytes
frontend/web/images/vacancies/arrow-slider-left.png | Bin 0 -> 603 bytes
frontend/web/images/vacancies/arrow-slider-right-active.png | Bin 0 -> 596 bytes
frontend/web/images/vacancies/arrow-slider-right.png | Bin 0 -> 579 bytes
frontend/web/images/vacancies/bg-block-1.png | Bin 0 -> 234470 bytes
frontend/web/images/vacancies/bg-block-last.jpg | Bin 0 -> 34794 bytes
frontend/web/images/vacancies/bill.png | Bin 0 -> 31086 bytes
frontend/web/images/vacancies/border-gradient.jpg | Bin 0 -> 2621 bytes
frontend/web/images/vacancies/certificates-f-1.jpg | Bin 0 -> 13149 bytes
frontend/web/images/vacancies/certificates.png | Bin 0 -> 96305 bytes
frontend/web/images/vacancies/darts-bg.jpg | Bin 0 -> 98969 bytes
frontend/web/images/vacancies/darts.png | Bin 0 -> 151414 bytes
frontend/web/images/vacancies/ico-php.jpg | Bin 0 -> 8414 bytes
frontend/web/images/vacancies/ico-seo.jpg | Bin 0 -> 9174 bytes
frontend/web/images/vacancies/line-php.png | Bin 0 -> 2203 bytes
frontend/web/images/vacancies/proposition-f-1.png | Bin 0 -> 1559 bytes
frontend/web/images/vacancies/proposition-f-2.png | Bin 0 -> 1277 bytes
frontend/web/images/vacancies/proposition-f-3.png | Bin 0 -> 1369 bytes
frontend/web/images/vacancies/proposition-f-4.png | Bin 0 -> 631 bytes
frontend/web/images/vacancies/proposition-f-5.png | Bin 0 -> 546 bytes
frontend/web/images/vacancies/proposition-f-6.png | Bin 0 -> 845 bytes
frontend/web/images/vacancies/proposition-f-7.png | Bin 0 -> 1101 bytes
frontend/web/images/vacancies/proposition-f-8.png | Bin 0 -> 1060 bytes
frontend/web/images/vacancies/proposition.jpg | Bin 0 -> 43705 bytes
frontend/web/images/vacancies/qwe/slide-1.jpg | Bin 0 -> 4331 bytes
frontend/web/images/vacancies/qwe/slide-2.jpg | Bin 0 -> 3417 bytes
frontend/web/images/vacancies/qwe/slide-3.jpg | Bin 0 -> 3357 bytes
frontend/web/images/vacancies/qwe/slide-4.jpg | Bin 0 -> 3546 bytes
frontend/web/images/vacancies/qwe/slide-5.jpg | Bin 0 -> 5230 bytes
frontend/web/images/vacancies/rocket-line-2.png | Bin 0 -> 434 bytes
frontend/web/images/vacancies/rocket-line.png | Bin 0 -> 462 bytes
frontend/web/images/vacancies/shadow-darts.png | Bin 0 -> 17726 bytes
frontend/web/images/vacancies/sveta-darts.png | Bin 0 -> 88236 bytes
frontend/web/images/vacancies/tallants-f-1-hover.jpg | Bin 0 -> 15705 bytes
frontend/web/images/vacancies/tallants-f-1.png | Bin 0 -> 4333 bytes
frontend/web/images/vacancies/tallants-f-2-hover.jpg | Bin 0 -> 16822 bytes
frontend/web/images/vacancies/tallants-f-2.png | Bin 0 -> 4483 bytes
frontend/web/images/vacancies/tallants-f-3-hover.jpg | Bin 0 -> 12851 bytes
frontend/web/images/vacancies/tallants-f-3.png | Bin 0 -> 6464 bytes
frontend/web/images/vacancies/tallants-f-line.png | Bin 0 -> 343 bytes
frontend/web/images/vacancies/vacant-andrej.png | Bin 0 -> 25478 bytes
frontend/web/images/vacancies/vacant-anton.png | Bin 0 -> 22754 bytes
frontend/web/images/vacancies/vacant-bg.jpg | Bin 0 -> 80458 bytes
frontend/web/images/vacancies/vacant-slavik.png | Bin 0 -> 23927 bytes
frontend/web/images/zodiac/aquarius.png | Bin 0 -> 1710 bytes
frontend/web/images/zodiac/aries.png | Bin 0 -> 1559 bytes
frontend/web/images/zodiac/cancer.png | Bin 0 -> 1712 bytes
frontend/web/images/zodiac/capricorn.png | Bin 0 -> 1534 bytes
frontend/web/images/zodiac/gemini.png | Bin 0 -> 1494 bytes
frontend/web/images/zodiac/leo.png | Bin 0 -> 1575 bytes
frontend/web/images/zodiac/libra.png | Bin 0 -> 1547 bytes
frontend/web/images/zodiac/pisces.png | Bin 0 -> 1616 bytes
frontend/web/images/zodiac/sagittarius.png | Bin 0 -> 1618 bytes
frontend/web/images/zodiac/scorpio.png | Bin 0 -> 1536 bytes
frontend/web/images/zodiac/taurus.png | Bin 0 -> 1653 bytes
frontend/web/images/zodiac/virgo.png | Bin 0 -> 1621 bytes
frontend/web/js/addons/sliderkit.counter.1.0.js | 74 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/js/addons/sliderkit.counter.1.0.pack.js | 12 ++++++++++++
frontend/web/js/addons/sliderkit.delaycaptions.1.1.js | 167 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/js/addons/sliderkit.delaycaptions.1.1.pack.js | 12 ++++++++++++
frontend/web/js/addons/sliderkit.imagefx.1.0.js | 378 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/js/addons/sliderkit.imagefx.1.0.pack.js | 12 ++++++++++++
frontend/web/js/addons/sliderkit.timer.1.0.js | 63 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/js/addons/sliderkit.timer.1.0.pack.js | 12 ++++++++++++
frontend/web/js/contact.js | 19 +++++++++++++++++++
frontend/web/js/external/jquery.easing.1.3.min.js | 27 +++++++++++++++++++++++++++
frontend/web/js/external/jquery.mousewheel.min.js | 12 ++++++++++++
frontend/web/js/external/jquery.supertoc.js | 67 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/js/external/jquery.supertoc.min.js | 11 +++++++++++
frontend/web/js/external/jquery.ui.totop.js | 62 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/js/graph.js | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/js/highcharts.js | 320 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/js/jquery-ui-1.9.2.custom.min.js | 6 ++++++
frontend/web/js/jquery.maskedinput.min.js | 7 +++++++
frontend/web/js/jquery.scrollbox.min.js | 1 +
frontend/web/js/jquery.sliderkit.1.9.2.js | 990 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/js/jquery.sliderkit.1.9.2.pack.js | 8 ++++++++
frontend/web/js/main.js | 187 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/js/oldies.js | 28 ++++++++++++++++++++++++++++
frontend/web/js/script.js | 18 ++++++++++++++++++
frontend/web/js/services/analitic.js | 90 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/js/services/content.js | 90 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/js/services/context.js | 90 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/js/services/cpa.js | 90 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/js/services/cpc.js | 90 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/js/services/design.js | 90 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/js/services/email.js | 90 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/js/services/integration.js | 90 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/js/services/segmnt.js | 90 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/js/services/seo.js | 90 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/js/services/serm.js | 90 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/js/services/smm.js | 90 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/js/services/usability.js | 90 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/js/services/webcreat.js | 90 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/js/team.js | 13 +++++++++++++
frontend/web/js/teamitem/1.js | 18 ++++++++++++++++++
frontend/web/js/teamitem/highcharts.js | 320 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/js/teamitem/jquery-1.11.2.min (1).js | 4 ++++
frontend/web/js/teamitem/jquery-1.11.2.min.js | 4 ++++
frontend/web/js/teamitem/jquery-1.6.2.min.js | 18 ++++++++++++++++++
frontend/web/js/teamitem/jquery-ui.min.js | 5 +++++
frontend/web/js/teamitem/jquery.animate-shadow-min.js | 14 ++++++++++++++
frontend/web/js/teamitem/jquery.animate-shadow.js | 231 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/js/teamitem/jquery.rating-2.0.min.js | 7 +++++++
frontend/web/js/teamitem/rating.js | 45 +++++++++++++++++++++++++++++++++++++++++++++
frontend/web/js/uniform/default/css/uniform.default.css | 366 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/js/uniform/default/css/uniform.default.min.css | 1 +
frontend/web/js/uniform/default/css/uniform.default.scss | 150 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/js/uniform/default/images/bg-input-focus.png | Bin 0 -> 143 bytes
frontend/web/js/uniform/default/images/bg-input.png | Bin 0 -> 143 bytes
frontend/web/js/uniform/default/images/sprite.png | Bin 0 -> 32968 bytes
frontend/web/js/uniform/jquery.uniform.min.js | 1 +
frontend/web/js/vacancies.js | 42 ++++++++++++++++++++++++++++++++++++++++++
frontend/web/js/vacancies2.js | 87 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
frontend/web/js/validate/jquery.validate.min.js | 2 ++
frontend/web/js/validate/messages_ru.js | 25 +++++++++++++++++++++++++
frontend/web/robots.txt | 2 ++
init | 209 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
init.bat | 20 ++++++++++++++++++++
requirements.php | 132 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/README.md | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/codeception.yml | 11 +++++++++++
tests/codeception/_output/.gitignore | 2 ++
tests/codeception/backend/.gitignore | 4 ++++
tests/codeception/backend/_bootstrap.php | 23 +++++++++++++++++++++++
tests/codeception/backend/_output/.gitignore | 2 ++
tests/codeception/backend/acceptance.suite.yml | 28 ++++++++++++++++++++++++++++
tests/codeception/backend/acceptance/LoginCept.php | 44 ++++++++++++++++++++++++++++++++++++++++++++
tests/codeception/backend/acceptance/_bootstrap.php | 2 ++
tests/codeception/backend/codeception.yml | 17 +++++++++++++++++
tests/codeception/backend/functional.suite.yml | 17 +++++++++++++++++
tests/codeception/backend/functional/LoginCept.php | 30 ++++++++++++++++++++++++++++++
tests/codeception/backend/functional/_bootstrap.php | 2 ++
tests/codeception/backend/unit.suite.yml | 6 ++++++
tests/codeception/backend/unit/DbTestCase.php | 8 ++++++++
tests/codeception/backend/unit/TestCase.php | 8 ++++++++
tests/codeception/backend/unit/_bootstrap.php | 2 ++
tests/codeception/backend/unit/fixtures/data/.gitkeep | 0
tests/codeception/bin/_bootstrap.php | 19 +++++++++++++++++++
tests/codeception/bin/yii | 23 +++++++++++++++++++++++
tests/codeception/bin/yii.bat | 20 ++++++++++++++++++++
tests/codeception/common/.gitignore | 4 ++++
tests/codeception/common/_bootstrap.php | 15 +++++++++++++++
tests/codeception/common/_output/.gitignore | 2 ++
tests/codeception/common/_pages/LoginPage.php | 25 +++++++++++++++++++++++++
tests/codeception/common/_support/FixtureHelper.php | 72 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/codeception/common/codeception.yml | 13 +++++++++++++
tests/codeception/common/fixtures/UserFixture.php | 13 +++++++++++++
tests/codeception/common/fixtures/data/init_login.php | 14 ++++++++++++++
tests/codeception/common/templates/fixtures/user.php | 17 +++++++++++++++++
tests/codeception/common/unit.suite.yml | 6 ++++++
tests/codeception/common/unit/DbTestCase.php | 11 +++++++++++
tests/codeception/common/unit/TestCase.php | 11 +++++++++++
tests/codeception/common/unit/_bootstrap.php | 2 ++
tests/codeception/common/unit/fixtures/data/models/user.php | 14 ++++++++++++++
tests/codeception/common/unit/models/LoginFormTest.php | 93 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/codeception/config/acceptance.php | 7 +++++++
tests/codeception/config/backend/acceptance.php | 17 +++++++++++++++++
tests/codeception/config/backend/config.php | 5 +++++
tests/codeception/config/backend/functional.php | 18 ++++++++++++++++++
tests/codeception/config/backend/unit.php | 16 ++++++++++++++++
tests/codeception/config/common/unit.php | 14 ++++++++++++++
tests/codeception/config/config.php | 26 ++++++++++++++++++++++++++
tests/codeception/config/console/unit.php | 14 ++++++++++++++
tests/codeception/config/frontend/acceptance.php | 17 +++++++++++++++++
tests/codeception/config/frontend/config.php | 5 +++++
tests/codeception/config/frontend/functional.php | 18 ++++++++++++++++++
tests/codeception/config/frontend/unit.php | 16 ++++++++++++++++
tests/codeception/config/functional.php | 18 ++++++++++++++++++
tests/codeception/config/unit.php | 7 +++++++
tests/codeception/console/.gitignore | 2 ++
tests/codeception/console/_bootstrap.php | 16 ++++++++++++++++
tests/codeception/console/_output/.gitignore | 2 ++
tests/codeception/console/codeception.yml | 13 +++++++++++++
tests/codeception/console/unit.suite.yml | 6 ++++++
tests/codeception/console/unit/DbTestCase.php | 11 +++++++++++
tests/codeception/console/unit/TestCase.php | 11 +++++++++++
tests/codeception/console/unit/_bootstrap.php | 2 ++
tests/codeception/console/unit/fixtures/data/.gitkeep | 0
tests/codeception/frontend/.gitignore | 4 ++++
tests/codeception/frontend/_bootstrap.php | 23 +++++++++++++++++++++++
tests/codeception/frontend/_output/.gitignore | 2 ++
tests/codeception/frontend/_pages/AboutPage.php | 14 ++++++++++++++
tests/codeception/frontend/_pages/ContactPage.php | 26 ++++++++++++++++++++++++++
tests/codeception/frontend/_pages/SignupPage.php | 27 +++++++++++++++++++++++++++
tests/codeception/frontend/acceptance.suite.yml | 28 ++++++++++++++++++++++++++++
tests/codeception/frontend/acceptance/AboutCept.php | 10 ++++++++++
tests/codeception/frontend/acceptance/ContactCept.php | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/codeception/frontend/acceptance/HomeCept.php | 12 ++++++++++++
tests/codeception/frontend/acceptance/LoginCept.php | 34 ++++++++++++++++++++++++++++++++++
tests/codeception/frontend/acceptance/SignupCest.php | 82 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/codeception/frontend/acceptance/_bootstrap.php | 2 ++
tests/codeception/frontend/codeception.yml | 17 +++++++++++++++++
tests/codeception/frontend/functional.suite.yml | 17 +++++++++++++++++
tests/codeception/frontend/functional/AboutCept.php | 10 ++++++++++
tests/codeception/frontend/functional/ContactCept.php | 47 +++++++++++++++++++++++++++++++++++++++++++++++
tests/codeception/frontend/functional/HomeCept.php | 12 ++++++++++++
tests/codeception/frontend/functional/LoginCept.php | 29 +++++++++++++++++++++++++++++
tests/codeception/frontend/functional/SignupCest.php | 90 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/codeception/frontend/functional/_bootstrap.php | 3 +++
tests/codeception/frontend/unit.suite.yml | 6 ++++++
tests/codeception/frontend/unit/DbTestCase.php | 11 +++++++++++
tests/codeception/frontend/unit/TestCase.php | 11 +++++++++++
tests/codeception/frontend/unit/_bootstrap.php | 2 ++
tests/codeception/frontend/unit/fixtures/data/models/user.php | 23 +++++++++++++++++++++++
tests/codeception/frontend/unit/models/ContactFormTest.php | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/codeception/frontend/unit/models/PasswordResetRequestFormTest.php | 87 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/codeception/frontend/unit/models/ResetPasswordFormTest.php | 43 +++++++++++++++++++++++++++++++++++++++++++
tests/codeception/frontend/unit/models/SignupFormTest.php | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1615 files changed, 94134 insertions(+), 0 deletions(-)
create mode 100644 .bowerrc
create mode 100644 .gitignore
create mode 100644 .htaccess
create mode 100644 LICENSE.md
create mode 100644 README.md
create mode 100644 backend/assets/AppAsset.php
create mode 100644 backend/config/.gitignore
create mode 100644 backend/config/bootstrap.php
create mode 100644 backend/config/main.php
create mode 100644 backend/config/params.php
create mode 100755 backend/controllers/ClientsController.php
create mode 100755 backend/controllers/DepartmentsController.php
create mode 100755 backend/controllers/SiteController.php
create mode 100644 backend/controllers/TeamController.php
create mode 100644 backend/controllers/TeamSkilsController.php
create mode 100755 backend/models/.gitkeep
create mode 100755 backend/models/Clients.php
create mode 100755 backend/models/ClientsSearch.php
create mode 100755 backend/models/Departments.php
create mode 100755 backend/models/DepartmentsSearch.php
create mode 100644 backend/models/Team.php
create mode 100644 backend/models/TeamBooks.php
create mode 100644 backend/models/TeamSearch.php
create mode 100644 backend/models/TeamSkils.php
create mode 100644 backend/models/User.php
create mode 100644 backend/runtime/.gitignore
create mode 100644 backend/views/adminlte/layouts/content.php
create mode 100644 backend/views/adminlte/layouts/header.php
create mode 100644 backend/views/adminlte/layouts/left.php
create mode 100644 backend/views/adminlte/layouts/main-login.php
create mode 100644 backend/views/adminlte/layouts/main.php
create mode 100644 backend/views/adminlte/site/error.php
create mode 100644 backend/views/adminlte/site/login.php
create mode 100755 backend/views/clients/_form.php
create mode 100755 backend/views/clients/_search.php
create mode 100755 backend/views/clients/create.php
create mode 100755 backend/views/clients/index.php
create mode 100755 backend/views/clients/update.php
create mode 100755 backend/views/clients/view.php
create mode 100755 backend/views/departments/_form.php
create mode 100755 backend/views/departments/_search.php
create mode 100755 backend/views/departments/create.php
create mode 100755 backend/views/departments/index.php
create mode 100755 backend/views/departments/update.php
create mode 100755 backend/views/departments/view.php
create mode 100755 backend/views/layouts/main.php
create mode 100755 backend/views/site/error.php
create mode 100755 backend/views/site/index.php
create mode 100755 backend/views/site/login.php
create mode 100644 backend/views/team/_form.php
create mode 100644 backend/views/team/_search.php
create mode 100644 backend/views/team/create.php
create mode 100644 backend/views/team/index.php
create mode 100644 backend/views/team/skils/_form.php
create mode 100644 backend/views/team/skils/create.php
create mode 100644 backend/views/team/skils/index.php
create mode 100644 backend/views/team/skils/update.php
create mode 100644 backend/views/team/skils/view.php
create mode 100644 backend/views/team/update.php
create mode 100644 backend/views/team/view.php
create mode 100644 backend/web/.gitignore
create mode 100644 backend/web/assets/.gitignore
create mode 100644 backend/web/css/site.css
create mode 100644 backend/web/favicon.ico
create mode 100644 backend/web/robots.txt
create mode 100644 common/components/Request.php
create mode 100644 common/config/.gitignore
create mode 100644 common/config/bootstrap.php
create mode 100644 common/config/main.php
create mode 100644 common/config/params.php
create mode 100644 common/config/rules.php
create mode 100644 common/mail/layouts/html.php
create mode 100644 common/mail/layouts/text.php
create mode 100644 common/mail/passwordResetToken-html.php
create mode 100644 common/mail/passwordResetToken-text.php
create mode 100644 common/models/LoginForm.php
create mode 100644 common/models/OrdersAudit.php
create mode 100644 common/models/User.php
create mode 100644 common/widgets/Alert.php
create mode 100644 composer.json
create mode 100644 composer.lock
create mode 100644 console/config/.gitignore
create mode 100644 console/config/bootstrap.php
create mode 100644 console/config/main.php
create mode 100644 console/config/params.php
create mode 100644 console/controllers/.gitkeep
create mode 100644 console/migrations/m130524_201442_init.php
create mode 100644 console/models/.gitkeep
create mode 100644 console/runtime/.gitignore
create mode 100644 environments/dev/backend/config/main-local.php
create mode 100644 environments/dev/backend/config/params-local.php
create mode 100644 environments/dev/backend/web/index-test.php
create mode 100644 environments/dev/backend/web/index.php
create mode 100644 environments/dev/common/config/main-local.php
create mode 100644 environments/dev/common/config/params-local.php
create mode 100644 environments/dev/console/config/main-local.php
create mode 100644 environments/dev/console/config/params-local.php
create mode 100644 environments/dev/frontend/config/main-local.php
create mode 100644 environments/dev/frontend/config/params-local.php
create mode 100644 environments/dev/frontend/web/index-test.php
create mode 100644 environments/dev/frontend/web/index.php
create mode 100644 environments/dev/yii
create mode 100644 environments/index.php
create mode 100644 environments/prod/backend/config/main-local.php
create mode 100644 environments/prod/backend/config/params-local.php
create mode 100644 environments/prod/backend/web/index.php
create mode 100644 environments/prod/common/config/main-local.php
create mode 100644 environments/prod/common/config/params-local.php
create mode 100644 environments/prod/console/config/main-local.php
create mode 100644 environments/prod/console/config/params-local.php
create mode 100644 environments/prod/frontend/config/main-local.php
create mode 100644 environments/prod/frontend/config/params-local.php
create mode 100644 environments/prod/frontend/web/index.php
create mode 100644 environments/prod/yii
create mode 100644 frontend/assets/AppAsset.php
create mode 100644 frontend/config/.gitignore
create mode 100644 frontend/config/bootstrap.php
create mode 100644 frontend/config/main.php
create mode 100644 frontend/config/params.php
create mode 100644 frontend/controllers/SiteController.php
create mode 100755 frontend/models/Clients.php
create mode 100755 frontend/models/ClientsQuery.php
create mode 100755 frontend/models/ContactForm.php
create mode 100755 frontend/models/PasswordResetRequestForm.php
create mode 100755 frontend/models/ResetPasswordForm.php
create mode 100755 frontend/models/SignupForm.php
create mode 100755 frontend/models/Team.php
create mode 100644 frontend/models/TeamBooks.php
create mode 100644 frontend/models/TeamFilms.php
create mode 100644 frontend/models/TeamHumors.php
create mode 100644 frontend/models/TeamInterests.php
create mode 100644 frontend/models/TeamInterestsQuery.php
create mode 100755 frontend/models/TeamQuery.php
create mode 100644 frontend/models/TeamSkils.php
create mode 100644 frontend/runtime/.gitignore
create mode 100644 frontend/views/blocks/clients.php
create mode 100644 frontend/views/blocks/orders-audit.php
create mode 100644 frontend/views/blocks/portfolio.php
create mode 100644 frontend/views/blocks/reviews.php
create mode 100644 frontend/views/blocks/services.php
create mode 100644 frontend/views/layouts/main.php
create mode 100644 frontend/views/site/contact.php
create mode 100644 frontend/views/site/error.php
create mode 100644 frontend/views/site/frontpage.php
create mode 100644 frontend/views/site/login.php
create mode 100644 frontend/views/site/orders_audit.php
create mode 100644 frontend/views/site/orders_audit_success.php
create mode 100644 frontend/views/site/requestPasswordResetToken.php
create mode 100644 frontend/views/site/resetPassword.php
create mode 100644 frontend/views/site/services/analitic.php
create mode 100644 frontend/views/site/services/content.php
create mode 100644 frontend/views/site/services/context.php
create mode 100644 frontend/views/site/services/cpa.php
create mode 100644 frontend/views/site/services/cpc.php
create mode 100644 frontend/views/site/services/design.php
create mode 100644 frontend/views/site/services/email.php
create mode 100644 frontend/views/site/services/integration.php
create mode 100644 frontend/views/site/services/segmnt.php
create mode 100644 frontend/views/site/services/seo.php
create mode 100644 frontend/views/site/services/serm.php
create mode 100644 frontend/views/site/services/smm.php
create mode 100644 frontend/views/site/services/usability.php
create mode 100644 frontend/views/site/services/webcreat.php
create mode 100644 frontend/views/site/signup.php
create mode 100644 frontend/views/site/team.php
create mode 100644 frontend/views/site/teamitem.php
create mode 100644 frontend/views/site/vacancies.php
create mode 100644 frontend/web/.gitignore
create mode 100644 frontend/web/assets/.gitignore
create mode 100644 frontend/web/count_form/app/data/admin.php
create mode 100644 frontend/web/count_form/app/data/form.php
create mode 100644 frontend/web/count_form/app/data/login.php
create mode 100644 frontend/web/count_form/app/data/sub_quest.php
create mode 100644 frontend/web/count_form/app/db/Entity.php
create mode 100644 frontend/web/count_form/app/db/Main.php
create mode 100644 frontend/web/count_form/app/entity/question.php
create mode 100644 frontend/web/count_form/app/entity/request.php
create mode 100644 frontend/web/count_form/app/entity/sub_question.php
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/LICENSE
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/README
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/changelog.txt
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/class.phpmailer.php
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/class.pop3.php
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/class.smtp.php
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs.ini
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/Callback_function_notes.txt
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/DomainKeys_notes.txt
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/Note_for_SMTP_debugging.txt
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/extending.html
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/faq.html
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/classes.svg
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/classes/PHPMailer.html
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/classes/POP3.html
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/classes/SMTP.html
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/classes/phpmailerException.html
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/css/bootstrap-responsive.css
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/css/bootstrap-responsive.min.css
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/css/bootstrap.css
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/css/bootstrap.min.css
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/css/jquery.iviewer.css
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/css/prettify.css
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/css/template.css
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/deprecated.html
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/errors.html
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/graph_class.html
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/apple-touch-icon-114x114.png
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/apple-touch-icon-72x72.png
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/apple-touch-icon.png
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/favicon.ico
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/glyphicons-halflings-white.png
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/glyphicons-halflings.png
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/icons/arrow_down.png
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/icons/arrow_right.png
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/icons/class.png
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/icons/constant.png
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/icons/favicon.ico
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/icons/file-php.png
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/icons/file.gif
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/icons/folder.gif
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/icons/function.png
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/icons/icon-folder-open-big.png
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/icons/icon-th-big.png
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/icons/icon_template.svg
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/icons/interface.png
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/icons/method.png
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/icons/ok.png
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/icons/property.png
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/icons/search.gif
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/icons/variable.png
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/icons/view_source.png
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/icons/visibility_private.png
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/icons/visibility_protected.png
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/icons/visibility_public.png
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/iviewer/grab.cur
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/iviewer/hand.cur
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/iviewer/iviewer.rotate_left.png
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/iviewer/iviewer.rotate_right.png
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/iviewer/iviewer.zoom_fit.png
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/iviewer/iviewer.zoom_fit2.gif
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/iviewer/iviewer.zoom_in.png
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/iviewer/iviewer.zoom_in2.gif
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/iviewer/iviewer.zoom_out.png
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/iviewer/iviewer.zoom_out2.gif
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/iviewer/iviewer.zoom_zero.png
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/iviewer/iviewer.zoom_zero2.gif
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/loader.gif
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/index.html
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/js/SVGPan.js
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/js/bootstrap.js
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/js/bootstrap.min.js
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/js/jquery-1.4.2.min.js
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/js/jquery-1.7.1.min.js
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/js/jquery-ui-1.8.2.custom.min.js
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/js/jquery.cookie.js
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/js/jquery.iviewer.js
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/js/jquery.iviewer.min.js
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/js/jquery.mousewheel.min.js
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/js/jquery.panzoom.js
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/js/jquery.splitter.js
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/js/jquery.tools.min.js
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/js/jquery.treeview.js
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/js/menu.js
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/js/prettify/lang-apollo.js
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/js/prettify/lang-clj.js
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/js/prettify/lang-css.js
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/js/prettify/lang-go.js
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/js/prettify/lang-hs.js
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/js/prettify/lang-lisp.js
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/js/prettify/lang-lua.js
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/js/prettify/lang-ml.js
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/js/prettify/lang-n.js
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/js/prettify/lang-proto.js
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/js/prettify/lang-scala.js
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/js/prettify/lang-sql.js
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/js/prettify/lang-tex.js
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/js/prettify/lang-vb.js
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/js/prettify/lang-vhdl.js
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/js/prettify/lang-wiki.js
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/js/prettify/lang-xq.js
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/js/prettify/lang-yaml.js
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/js/prettify/prettify.min.js
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/js/sidebar.js
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/js/template.js
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/markers.html
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/namespaces/global.html
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/packages/PHPMailer.html
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/structure.xml
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/pop3_article.txt
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/use_gmail.txt
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/examples/contents.html
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/examples/images/phpmailer.gif
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/examples/images/phpmailer_mini.gif
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/examples/index.html
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/examples/test_db_smtp_basic.php
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/examples/test_mail_advanced.php
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/examples/test_mail_basic.php
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/examples/test_pop_before_smtp_advanced.php
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/examples/test_pop_before_smtp_basic.php
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/examples/test_sendmail_advanced.php
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/examples/test_sendmail_basic.php
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/examples/test_smtp_advanced.php
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/examples/test_smtp_advanced_no_auth.php
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/examples/test_smtp_basic.php
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/examples/test_smtp_basic_no_auth.php
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/examples/test_smtp_gmail_advanced.php
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/examples/test_smtp_gmail_basic.php
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/extras/class.html2text.inc
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/extras/htmlfilter.php
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/extras/ntlm_sasl_client.php
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/language/phpmailer.lang-ar.php
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/language/phpmailer.lang-br.php
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/language/phpmailer.lang-ca.php
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/language/phpmailer.lang-ch.php
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/language/phpmailer.lang-cz.php
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/language/phpmailer.lang-de.php
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/language/phpmailer.lang-dk.php
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/language/phpmailer.lang-es.php
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/language/phpmailer.lang-et.php
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/language/phpmailer.lang-fi.php
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/language/phpmailer.lang-fo.php
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/language/phpmailer.lang-hu.php
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/language/phpmailer.lang-it.php
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/language/phpmailer.lang-ja.php
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/language/phpmailer.lang-nl.php
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/language/phpmailer.lang-no.php
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/language/phpmailer.lang-pl.php
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/language/phpmailer.lang-ro.php
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/language/phpmailer.lang-ru.php
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/language/phpmailer.lang-se.php
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/language/phpmailer.lang-sk.php
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/language/phpmailer.lang-tr.php
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/language/phpmailer.lang-zh.php
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/language/phpmailer.lang-zh_cn.php
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/test/contents.html
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/test/phpmailerTest.php
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/test/test.png
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/test/test_callback.php
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/test/testemail.php
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/test_script/LGPLv3.txt
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/test_script/contents.html
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/test_script/images/aikido.gif
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/test_script/images/bkgrnd.gif
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/test_script/images/phpmailer.gif
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/test_script/index.php
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/test_script/scripts/clipboard.swf
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/test_script/scripts/shBrushBash.js
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/test_script/scripts/shBrushCSharp.js
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/test_script/scripts/shBrushCpp.js
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/test_script/scripts/shBrushCss.js
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/test_script/scripts/shBrushDelphi.js
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/test_script/scripts/shBrushDiff.js
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/test_script/scripts/shBrushGroovy.js
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/test_script/scripts/shBrushJScript.js
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/test_script/scripts/shBrushJava.js
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/test_script/scripts/shBrushPerl.js
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/test_script/scripts/shBrushPhp.js
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/test_script/scripts/shBrushPlain.js
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/test_script/scripts/shBrushPython.js
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/test_script/scripts/shBrushRuby.js
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/test_script/scripts/shBrushScala.js
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/test_script/scripts/shBrushSql.js
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/test_script/scripts/shBrushVb.js
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/test_script/scripts/shBrushXml.js
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/test_script/scripts/shCore.js
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/test_script/scripts/shLegacy.js
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/test_script/src/shCore.js
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/test_script/src/shLegacy.js
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/test_script/styles/help.png
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/test_script/styles/magnifier.png
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/test_script/styles/page_white_code.png
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/test_script/styles/page_white_copy.png
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/test_script/styles/printer.png
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/test_script/styles/shCore.css
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/test_script/styles/shThemeDefault.css
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/test_script/styles/shThemeDjango.css
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/test_script/styles/shThemeEmacs.css
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/test_script/styles/shThemeFadeToGrey.css
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/test_script/styles/shThemeMidnight.css
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/test_script/styles/shThemeRDark.css
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/test_script/styles/wrapping.png
create mode 100644 frontend/web/count_form/app/lib/PHPMailer_5.2.4/test_script/test.html
create mode 100644 frontend/web/count_form/app/view/admin/add.php
create mode 100644 frontend/web/count_form/app/view/admin/edit.php
create mode 100644 frontend/web/count_form/app/view/admin/index.php
create mode 100644 frontend/web/count_form/app/view/form/index.php
create mode 100644 frontend/web/count_form/app/view/form/select.php
create mode 100644 frontend/web/count_form/app/view/login/index.php
create mode 100644 frontend/web/count_form/app/view/main_page.php
create mode 100644 frontend/web/count_form/app/view/sub_quest/add.php
create mode 100644 frontend/web/count_form/app/view/sub_quest/edit.php
create mode 100644 frontend/web/count_form/app/view/sub_quest/index.php
create mode 100644 frontend/web/count_form/css/bootstrap.css
create mode 100644 frontend/web/count_form/css/bootstrap.css.map
create mode 100644 frontend/web/count_form/css/main.css
create mode 100644 frontend/web/count_form/images/change.png
create mode 100644 frontend/web/count_form/images/check-off.png
create mode 100644 frontend/web/count_form/images/check-on.png
create mode 100644 frontend/web/count_form/images/del.png
create mode 100644 frontend/web/count_form/images/down-arrow.png
create mode 100644 frontend/web/count_form/images/down-arrow2.png
create mode 100644 frontend/web/count_form/images/radio-off.png
create mode 100644 frontend/web/count_form/images/radio-on.png
create mode 100644 frontend/web/count_form/images/save.jpg
create mode 100644 frontend/web/count_form/images/up-arrow.png
create mode 100644 frontend/web/count_form/images/up-arrow2.png
create mode 100644 frontend/web/count_form/images/validFild.png
create mode 100644 frontend/web/count_form/index.php
create mode 100644 frontend/web/count_form/js/input-style.js
create mode 100644 frontend/web/count_form/js/jquery-ui.js
create mode 100644 frontend/web/count_form/js/jquery.js
create mode 100644 frontend/web/count_form/js/jquery.validate.min.js
create mode 100644 frontend/web/count_form/js/main.js
create mode 100644 frontend/web/count_form/js/validate.js
create mode 100644 frontend/web/css/contact.css
create mode 100644 frontend/web/css/ie.css
create mode 100644 frontend/web/css/service_analitic.css
create mode 100644 frontend/web/css/service_content.css
create mode 100644 frontend/web/css/service_context.css
create mode 100644 frontend/web/css/service_cpa.css
create mode 100644 frontend/web/css/service_cpc.css
create mode 100644 frontend/web/css/service_design.css
create mode 100644 frontend/web/css/service_email.css
create mode 100644 frontend/web/css/service_integration.css
create mode 100644 frontend/web/css/service_segmnt.css
create mode 100644 frontend/web/css/service_seo.css
create mode 100644 frontend/web/css/service_serm.css
create mode 100644 frontend/web/css/service_smm.css
create mode 100644 frontend/web/css/service_usability.css
create mode 100644 frontend/web/css/service_webcreat.css
create mode 100644 frontend/web/css/site.css
create mode 100644 frontend/web/css/team.css
create mode 100644 frontend/web/css/teamitem.css
create mode 100644 frontend/web/css/vacancies.css
create mode 100644 frontend/web/favicon.ico
create mode 100755 frontend/web/files/censor_net_ua.jpg
create mode 100755 frontend/web/files/cl-arenda.jpg
create mode 100755 frontend/web/files/cl-arenda.png
create mode 100755 frontend/web/files/cl-censor.jpg
create mode 100755 frontend/web/files/cl-censor.png
create mode 100755 frontend/web/files/cl-dveri.jpg
create mode 100755 frontend/web/files/cl-dveri.png
create mode 100755 frontend/web/files/cl-extreme.jpg
create mode 100755 frontend/web/files/cl-extreme.png
create mode 100755 frontend/web/files/cl-gopro.jpg
create mode 100755 frontend/web/files/cl-gopro.png
create mode 100755 frontend/web/files/cl-hata-laminatu.jpg
create mode 100755 frontend/web/files/cl-hata-laminatu.png
create mode 100755 frontend/web/files/cl-linija-svitla.jpg
create mode 100755 frontend/web/files/cl-linija-svitla.png
create mode 100755 frontend/web/files/cl-planetaplast.jpg
create mode 100755 frontend/web/files/cl-planetaplast.png
create mode 100755 frontend/web/files/cl-semena.jpg
create mode 100755 frontend/web/files/cl-semena.png
create mode 100755 frontend/web/files/cl-ukravtodor.jpg
create mode 100755 frontend/web/files/cl-ukravtodor.png
create mode 100755 frontend/web/files/cl-ventolux.jpg
create mode 100755 frontend/web/files/cl-ventolux.png
create mode 100755 frontend/web/files/clients/cl-arenda.png
create mode 100755 frontend/web/files/clients/cl-arenda_1.png
create mode 100755 frontend/web/files/clients/cl-censor.png
create mode 100755 frontend/web/files/clients/cl-dveri.png
create mode 100755 frontend/web/files/clients/cl-extreme.png
create mode 100755 frontend/web/files/clients/cl-gopro.png
create mode 100755 frontend/web/files/clients/cl-hata-laminatu.png
create mode 100755 frontend/web/files/clients/cl-linija-svitla.png
create mode 100755 frontend/web/files/clients/cl-planetaplast.png
create mode 100755 frontend/web/files/clients/cl-semena.png
create mode 100755 frontend/web/files/clients/cl-ukravtodor.png
create mode 100755 frontend/web/files/google-map.jpg
create mode 100755 frontend/web/files/logos_artweb_slider.rar
create mode 100755 frontend/web/files/pf-avtodor.jpg
create mode 100755 frontend/web/files/pf-avtodor_1.png
create mode 100755 frontend/web/files/pf-avtodor_2.png
create mode 100755 frontend/web/files/pf-avtodor_3.png
create mode 100755 frontend/web/files/pf-censor.jpg
create mode 100755 frontend/web/files/pf-censor_1.png
create mode 100755 frontend/web/files/pf-censor_2.png
create mode 100755 frontend/web/files/pf-censor_3.png
create mode 100755 frontend/web/files/pf-extremstyle.jpg
create mode 100755 frontend/web/files/pf-extremstyle_1.png
create mode 100755 frontend/web/files/pf-extremstyle_2.png
create mode 100755 frontend/web/files/pf-extremstyle_3.png
create mode 100755 frontend/web/files/pf-medtehnika.jpg
create mode 100755 frontend/web/files/pf-medtehnika_1.png
create mode 100755 frontend/web/files/pf-medtehnika_2.png
create mode 100755 frontend/web/files/pf-medtehnika_3.png
create mode 100755 frontend/web/files/pf-semena.jpg
create mode 100755 frontend/web/files/pf-semena_1.png
create mode 100755 frontend/web/files/pf-semena_2.png
create mode 100755 frontend/web/files/pf-semena_3.png
create mode 100755 frontend/web/files/pf1-finobzor.png
create mode 100755 frontend/web/files/rw-ExtremStyle_ua.jpg
create mode 100755 frontend/web/files/rw-UkrAvtoDor_gov_ua.jpg
create mode 100755 frontend/web/files/srv1-cpa.png
create mode 100755 frontend/web/files/srv1-cpc.png
create mode 100755 frontend/web/files/srv1-kontekstnaya-reklama.png
create mode 100755 frontend/web/files/srv1-seo.png
create mode 100755 frontend/web/files/srv2-email-marketing.png
create mode 100755 frontend/web/files/srv2-kontent-marketing.png
create mode 100755 frontend/web/files/srv2-serm.png
create mode 100755 frontend/web/files/srv2-smm.png
create mode 100755 frontend/web/files/srv3-integratsiya.png
create mode 100755 frontend/web/files/srv3-redizayn.png
create mode 100755 frontend/web/files/srv3-sozdaniye-saytov.png
create mode 100755 frontend/web/files/srv4-nastroyka-analitiki.png
create mode 100755 frontend/web/files/srv4-segmentatsiya.png
create mode 100755 frontend/web/files/srv4-yuzabiliti.png
create mode 100755 frontend/web/files/team/beliy.jpg
create mode 100644 frontend/web/files/team/beliy_1.jpg
create mode 100755 frontend/web/files/team/marek.jpg
create mode 100755 frontend/web/files/team/zozulya.jpg
create mode 100644 frontend/web/files/team/zozulya_1.jpg
create mode 100644 frontend/web/files/team/zozulya_2.jpg
create mode 100644 frontend/web/files/team/zozulya_3.jpg
create mode 100755 frontend/web/files/tm1-vyacheslav-mizharev.jpg
create mode 100755 frontend/web/files/tm2-andrey-belyy.jpg
create mode 100755 frontend/web/files/tm3-dmitriy.jpg
create mode 100755 frontend/web/files/tm4-irina.jpg
create mode 100755 frontend/web/files/tm5-anton-zozulya.jpg
create mode 100644 frontend/web/images/b-audit-bg.jpg
create mode 100644 frontend/web/images/b-completed-bg.jpg
create mode 100644 frontend/web/images/b-portfolio-arrow.png
create mode 100644 frontend/web/images/b-portfolio-arrow_2.png
create mode 100644 frontend/web/images/b-quality-client.png
create mode 100644 frontend/web/images/b-quality-list.jpg
create mode 100644 frontend/web/images/b-reviews-arrow.png
create mode 100644 frontend/web/images/b-reviews-skit.png
create mode 100644 frontend/web/images/b-team-ico.png
create mode 100644 frontend/web/images/bg.jpg
create mode 100644 frontend/web/images/bg_contacts.jpg
create mode 100644 frontend/web/images/bg_contacts2.jpg
create mode 100644 frontend/web/images/bg_team-shadow.png
create mode 100644 frontend/web/images/bg_team-tv.png
create mode 100644 frontend/web/images/bg_team.jpg
create mode 100644 frontend/web/images/bg_team2.jpg
create mode 100644 frontend/web/images/bg_team3.jpg
create mode 100644 frontend/web/images/blog-ico.jpg
create mode 100644 frontend/web/images/censor_net_ua.png
create mode 100644 frontend/web/images/circle-line.png
create mode 100644 frontend/web/images/company-ico-1.png
create mode 100644 frontend/web/images/company-ico-2.png
create mode 100644 frontend/web/images/company-ico-3.png
create mode 100644 frontend/web/images/contact-ico.png
create mode 100644 frontend/web/images/contact-ico2.png
create mode 100644 frontend/web/images/dialog-close.png
create mode 100644 frontend/web/images/f_1.png
create mode 100644 frontend/web/images/f_10.png
create mode 100644 frontend/web/images/f_11.png
create mode 100644 frontend/web/images/f_12.png
create mode 100644 frontend/web/images/f_13.png
create mode 100644 frontend/web/images/f_14.png
create mode 100644 frontend/web/images/f_15.png
create mode 100644 frontend/web/images/f_2.jpg
create mode 100644 frontend/web/images/f_3.jpg
create mode 100644 frontend/web/images/f_4.png
create mode 100644 frontend/web/images/f_5.png
create mode 100644 frontend/web/images/f_6.png
create mode 100644 frontend/web/images/f_7.png
create mode 100644 frontend/web/images/f_8.png
create mode 100644 frontend/web/images/f_9.png
create mode 100644 frontend/web/images/form-cont-arrow.jpg
create mode 100644 frontend/web/images/fotka.jpg
create mode 100644 frontend/web/images/foto-1.jpg
create mode 100644 frontend/web/images/foto-2.jpg
create mode 100644 frontend/web/images/graph-ico-1.jpg
create mode 100644 frontend/web/images/graph-ico-2.jpg
create mode 100644 frontend/web/images/graph-ico-3.jpg
create mode 100644 frontend/web/images/graph-ico-4.jpg
create mode 100644 frontend/web/images/graph-ico-5.jpg
create mode 100644 frontend/web/images/ico-mail.png
create mode 100644 frontend/web/images/ico-phone.png
create mode 100644 frontend/web/images/ico-skype.png
create mode 100644 frontend/web/images/ico_adress.png
create mode 100644 frontend/web/images/ico_team_1.jpg
create mode 100644 frontend/web/images/ico_team_2.jpg
create mode 100644 frontend/web/images/ico_team_3.jpg
create mode 100644 frontend/web/images/ico_team_4.jpg
create mode 100644 frontend/web/images/icons.png
create mode 100644 frontend/web/images/line_team.png
create mode 100644 frontend/web/images/logo.png
create mode 100644 frontend/web/images/logo_2.png
create mode 100644 frontend/web/images/mail-cont.jpg
create mode 100644 frontend/web/images/mapa_shadow.png
create mode 100644 frontend/web/images/mark_contacts.png
create mode 100644 frontend/web/images/monitor.png
create mode 100644 frontend/web/images/photo_andrey_240x315px.jpg
create mode 100644 frontend/web/images/portfolio.png
create mode 100644 frontend/web/images/portfolio_1.png
create mode 100644 frontend/web/images/portfolio_2.png
create mode 100644 frontend/web/images/portfolio_3.png
create mode 100644 frontend/web/images/rw-ExtremStyle_ua.png
create mode 100644 frontend/web/images/rw-UkrAvtoDor_gov_ua.png
create mode 100644 frontend/web/images/service.png
create mode 100644 frontend/web/images/service_2.png
create mode 100644 frontend/web/images/service_3.png
create mode 100644 frontend/web/images/service_4.png
create mode 100644 frontend/web/images/service_5.png
create mode 100644 frontend/web/images/services/analitic/analitic.jpg
create mode 100644 frontend/web/images/services/analitic/analitic.png
create mode 100644 frontend/web/images/services/analitic/analitic_f_1.jpg
create mode 100644 frontend/web/images/services/analitic/analitic_f_1.png
create mode 100644 frontend/web/images/services/analitic/analitic_f_2.jpg
create mode 100644 frontend/web/images/services/analitic/analitic_f_2.png
create mode 100644 frontend/web/images/services/analitic/analitic_f_3.jpg
create mode 100644 frontend/web/images/services/analitic/analitic_f_3.png
create mode 100644 frontend/web/images/services/analitic/analitic_f_4.jpg
create mode 100644 frontend/web/images/services/analitic/anton.png
create mode 100644 frontend/web/images/services/analitic/b-audit-bg_smm.jpg
create mode 100644 frontend/web/images/services/analitic/line-bg-services.png
create mode 100644 frontend/web/images/services/analitic/line_smm.jpg
create mode 100644 frontend/web/images/services/analitic/reason.jpg
create mode 100644 frontend/web/images/services/analitic/road-analitic_f_1.jpg
create mode 100644 frontend/web/images/services/analitic/road-analitic_f_2.jpg
create mode 100644 frontend/web/images/services/analitic/road-analitic_f_3.jpg
create mode 100644 frontend/web/images/services/analitic/road-analitic_f_4.jpg
create mode 100644 frontend/web/images/services/analitic/road-analitic_f_5.jpg
create mode 100644 frontend/web/images/services/analitic/road-analitic_f_6.jpg
create mode 100644 frontend/web/images/services/analitic/road-segmnt.jpg
create mode 100644 frontend/web/images/services/analitic/road.jpg
create mode 100644 frontend/web/images/services/analitic/seed.jpg
create mode 100644 frontend/web/images/services/analitic/seti_arrow.jpg
create mode 100644 frontend/web/images/services/analitic/slide-1.jpg
create mode 100644 frontend/web/images/services/analitic/slide-2.png
create mode 100644 frontend/web/images/services/analitic/slide-3.png
create mode 100644 frontend/web/images/services/analitic/smm_arrow.jpg
create mode 100644 frontend/web/images/services/analitic/smm_f_2.jpg
create mode 100644 frontend/web/images/services/analitic/soc_f_1.jpg
create mode 100644 frontend/web/images/services/analitic/soc_f_2.jpg
create mode 100644 frontend/web/images/services/analitic/soc_f_3.jpg
create mode 100644 frontend/web/images/services/analitic/soc_f_4.jpg
create mode 100644 frontend/web/images/services/analitic/soc_f_5.jpg
create mode 100644 frontend/web/images/services/analitic/soc_f_6.jpg
create mode 100644 frontend/web/images/services/analitic/soc_f_7.jpg
create mode 100644 frontend/web/images/services/analitic/team-segmnt.jpg
create mode 100644 frontend/web/images/services/analitic/why_analitic_f_1.jpg
create mode 100644 frontend/web/images/services/analitic/why_analitic_f_11.jpg
create mode 100644 frontend/web/images/services/analitic/why_analitic_f_12.jpg
create mode 100644 frontend/web/images/services/analitic/why_analitic_f_13.jpg
create mode 100644 frontend/web/images/services/analitic/why_analitic_f_2.jpg
create mode 100644 frontend/web/images/services/analitic/why_analitic_f_3.jpg
create mode 100644 frontend/web/images/services/analitic/why_analitic_f_4.jpg
create mode 100644 frontend/web/images/services/analitic/why_analitic_f_5.jpg
create mode 100644 frontend/web/images/services/analitic/why_analitic_f_6.jpg
create mode 100644 frontend/web/images/services/analitic/why_analitic_f_7.jpg
create mode 100644 frontend/web/images/services/analitic/why_analitic_f_8.jpg
create mode 100644 frontend/web/images/services/analitic/why_analitic_f_9.jpg
create mode 100644 frontend/web/images/services/content/b-audit-bg_smm.jpg
create mode 100644 frontend/web/images/services/content/burse_f_1.jpg
create mode 100644 frontend/web/images/services/content/burse_f_2.jpg
create mode 100644 frontend/web/images/services/content/burse_f_3.jpg
create mode 100644 frontend/web/images/services/content/content-circle-1-2.jpg
create mode 100644 frontend/web/images/services/content/content-circle-1.jpg
create mode 100644 frontend/web/images/services/content/content-circle-2-2.jpg
create mode 100644 frontend/web/images/services/content/content-circle-2.jpg
create mode 100644 frontend/web/images/services/content/content-circle-3-2.jpg
create mode 100644 frontend/web/images/services/content/content-circle-3.jpg
create mode 100644 frontend/web/images/services/content/content.png
create mode 100644 frontend/web/images/services/content/content_f_1.jpg
create mode 100644 frontend/web/images/services/content/content_f_2.jpg
create mode 100644 frontend/web/images/services/content/content_f_3.jpg
create mode 100644 frontend/web/images/services/content/content_f_4.jpg
create mode 100644 frontend/web/images/services/content/line-bg-services.png
create mode 100644 frontend/web/images/services/content/line_smm.jpg
create mode 100644 frontend/web/images/services/content/reason.jpg
create mode 100644 frontend/web/images/services/content/road-analitic_f_1.jpg
create mode 100644 frontend/web/images/services/content/road-analitic_f_2.jpg
create mode 100644 frontend/web/images/services/content/road-analitic_f_3.jpg
create mode 100644 frontend/web/images/services/content/road-analitic_f_4.jpg
create mode 100644 frontend/web/images/services/content/road-analitic_f_5.jpg
create mode 100644 frontend/web/images/services/content/road-analitic_f_6.jpg
create mode 100644 frontend/web/images/services/content/road-content.jpg
create mode 100644 frontend/web/images/services/content/road-cpa_f_1.jpg
create mode 100644 frontend/web/images/services/content/road-cpa_f_2.jpg
create mode 100644 frontend/web/images/services/content/road-cpa_f_3.jpg
create mode 100644 frontend/web/images/services/content/road-cpa_f_4.jpg
create mode 100644 frontend/web/images/services/content/road-cpa_f_5.jpg
create mode 100644 frontend/web/images/services/content/road-cpa_f_6.jpg
create mode 100644 frontend/web/images/services/content/road-cpa_f_7.jpg
create mode 100644 frontend/web/images/services/content/road-cpa_f_8.jpg
create mode 100644 frontend/web/images/services/content/road-webcreat_f_1.jpg
create mode 100644 frontend/web/images/services/content/road-webcreat_f_2.jpg
create mode 100644 frontend/web/images/services/content/road-webcreat_f_3.jpg
create mode 100644 frontend/web/images/services/content/road-webcreat_f_4.jpg
create mode 100644 frontend/web/images/services/content/road-webcreat_f_5.jpg
create mode 100644 frontend/web/images/services/content/road-webcreat_f_6.jpg
create mode 100644 frontend/web/images/services/content/road-webcreat_f_7.jpg
create mode 100644 frontend/web/images/services/content/road.jpg
create mode 100644 frontend/web/images/services/content/seed.jpg
create mode 100644 frontend/web/images/services/content/seo_f_1.png
create mode 100644 frontend/web/images/services/content/seo_f_2.png
create mode 100644 frontend/web/images/services/content/seo_f_3.png
create mode 100644 frontend/web/images/services/content/seti-content.jpg
create mode 100644 frontend/web/images/services/content/seti_arrow.jpg
create mode 100644 frontend/web/images/services/content/slide-1.jpg
create mode 100644 frontend/web/images/services/content/slide-2.png
create mode 100644 frontend/web/images/services/content/slide-3.png
create mode 100644 frontend/web/images/services/content/smm_arrow.jpg
create mode 100644 frontend/web/images/services/content/smm_f_2.jpg
create mode 100644 frontend/web/images/services/content/soc_f_1.jpg
create mode 100644 frontend/web/images/services/content/soc_f_2.jpg
create mode 100644 frontend/web/images/services/content/soc_f_3.jpg
create mode 100644 frontend/web/images/services/content/soc_f_4.jpg
create mode 100644 frontend/web/images/services/content/soc_f_5.jpg
create mode 100644 frontend/web/images/services/content/soc_f_6.jpg
create mode 100644 frontend/web/images/services/content/soc_f_7.jpg
create mode 100644 frontend/web/images/services/content/team-webcreat.jpg
create mode 100644 frontend/web/images/services/content/we-work-1.jpg
create mode 100644 frontend/web/images/services/content/we-work-10.jpg
create mode 100644 frontend/web/images/services/content/we-work-11.jpg
create mode 100644 frontend/web/images/services/content/we-work-2.jpg
create mode 100644 frontend/web/images/services/content/we-work-3.jpg
create mode 100644 frontend/web/images/services/content/we-work-4.jpg
create mode 100644 frontend/web/images/services/content/we-work-5.jpg
create mode 100644 frontend/web/images/services/content/we-work-6.jpg
create mode 100644 frontend/web/images/services/content/we-work-7.jpg
create mode 100644 frontend/web/images/services/content/we-work-8.jpg
create mode 100644 frontend/web/images/services/content/we-work-9.jpg
create mode 100644 frontend/web/images/services/content/why_content_f_1.jpg
create mode 100644 frontend/web/images/services/content/why_content_f_10.jpg
create mode 100644 frontend/web/images/services/content/why_content_f_11.jpg
create mode 100644 frontend/web/images/services/content/why_content_f_12.jpg
create mode 100644 frontend/web/images/services/content/why_content_f_13.jpg
create mode 100644 frontend/web/images/services/content/why_content_f_2.jpg
create mode 100644 frontend/web/images/services/content/why_content_f_3.jpg
create mode 100644 frontend/web/images/services/content/why_content_f_4.jpg
create mode 100644 frontend/web/images/services/content/why_content_f_5.jpg
create mode 100644 frontend/web/images/services/content/why_content_f_6.jpg
create mode 100644 frontend/web/images/services/content/why_content_f_7.jpg
create mode 100644 frontend/web/images/services/content/why_content_f_8.jpg
create mode 100644 frontend/web/images/services/content/why_content_f_9.jpg
create mode 100644 frontend/web/images/services/content/yulia.png
create mode 100644 frontend/web/images/services/context/b-audit-bg_smm.jpg
create mode 100644 frontend/web/images/services/context/context-seed_f_1.png
create mode 100644 frontend/web/images/services/context/context-seed_f_2.png
create mode 100644 frontend/web/images/services/context/context-seed_f_3.png
create mode 100644 frontend/web/images/services/context/context-team.jpg
create mode 100644 frontend/web/images/services/context/context.png
create mode 100644 frontend/web/images/services/context/context_f_1.jpg
create mode 100644 frontend/web/images/services/context/context_f_2.jpg
create mode 100644 frontend/web/images/services/context/context_f_3.jpg
create mode 100644 frontend/web/images/services/context/context_f_4.jpg
create mode 100644 frontend/web/images/services/context/line-bg-services.png
create mode 100644 frontend/web/images/services/context/line_smm.jpg
create mode 100644 frontend/web/images/services/context/reason.jpg
create mode 100644 frontend/web/images/services/context/road-content.jpg
create mode 100644 frontend/web/images/services/context/road-context_f_1.jpg
create mode 100644 frontend/web/images/services/context/road-context_f_2.jpg
create mode 100644 frontend/web/images/services/context/road-context_f_3.jpg
create mode 100644 frontend/web/images/services/context/road-context_f_4.jpg
create mode 100644 frontend/web/images/services/context/road-context_f_5.jpg
create mode 100644 frontend/web/images/services/context/road-context_f_6.jpg
create mode 100644 frontend/web/images/services/context/road-context_f_7.jpg
create mode 100644 frontend/web/images/services/context/road-context_f_8.png
create mode 100644 frontend/web/images/services/context/seed.jpg
create mode 100644 frontend/web/images/services/context/seti-s.jpg
create mode 100644 frontend/web/images/services/context/seti_arrow.jpg
create mode 100644 frontend/web/images/services/context/slide-1.jpg
create mode 100644 frontend/web/images/services/context/slide-2.png
create mode 100644 frontend/web/images/services/context/slide-3.png
create mode 100644 frontend/web/images/services/context/smm_arrow.jpg
create mode 100644 frontend/web/images/services/context/soc_f_1.jpg
create mode 100644 frontend/web/images/services/context/soc_f_2.jpg
create mode 100644 frontend/web/images/services/context/soc_f_3.jpg
create mode 100644 frontend/web/images/services/context/soc_f_4.jpg
create mode 100644 frontend/web/images/services/context/soc_f_5.jpg
create mode 100644 frontend/web/images/services/context/soc_f_6.jpg
create mode 100644 frontend/web/images/services/context/soc_f_7.jpg
create mode 100644 frontend/web/images/services/context/sveta.png
create mode 100644 frontend/web/images/services/context/why_context_f_1.jpg
create mode 100644 frontend/web/images/services/context/why_context_f_10.jpg
create mode 100644 frontend/web/images/services/context/why_context_f_11.jpg
create mode 100644 frontend/web/images/services/context/why_context_f_12.jpg
create mode 100644 frontend/web/images/services/context/why_context_f_13.jpg
create mode 100644 frontend/web/images/services/context/why_context_f_14.jpg
create mode 100644 frontend/web/images/services/context/why_context_f_15.jpg
create mode 100644 frontend/web/images/services/context/why_context_f_2.jpg
create mode 100644 frontend/web/images/services/context/why_context_f_3.jpg
create mode 100644 frontend/web/images/services/context/why_context_f_4.jpg
create mode 100644 frontend/web/images/services/context/why_context_f_5.jpg
create mode 100644 frontend/web/images/services/context/why_context_f_6.jpg
create mode 100644 frontend/web/images/services/context/why_context_f_7.jpg
create mode 100644 frontend/web/images/services/context/why_context_f_8.jpg
create mode 100644 frontend/web/images/services/context/why_context_f_9.jpg
create mode 100644 frontend/web/images/services/context/Íîâûé òåêñòîâûé äîêóìåíò.txt
create mode 100644 frontend/web/images/services/cpa/b-audit-bg_smm.jpg
create mode 100644 frontend/web/images/services/cpa/burse_f_1.jpg
create mode 100644 frontend/web/images/services/cpa/burse_f_2.jpg
create mode 100644 frontend/web/images/services/cpa/burse_f_3.jpg
create mode 100644 frontend/web/images/services/cpa/cpa.png
create mode 100644 frontend/web/images/services/cpa/cpa_f_1.jpg
create mode 100644 frontend/web/images/services/cpa/cpa_f_2.jpg
create mode 100644 frontend/web/images/services/cpa/cpa_f_3.jpg
create mode 100644 frontend/web/images/services/cpa/cpa_f_4.jpg
create mode 100644 frontend/web/images/services/cpa/line-bg-services.png
create mode 100644 frontend/web/images/services/cpa/line_smm.jpg
create mode 100644 frontend/web/images/services/cpa/reason.jpg
create mode 100644 frontend/web/images/services/cpa/road-analitic_f_1.jpg
create mode 100644 frontend/web/images/services/cpa/road-analitic_f_2.jpg
create mode 100644 frontend/web/images/services/cpa/road-analitic_f_3.jpg
create mode 100644 frontend/web/images/services/cpa/road-analitic_f_4.jpg
create mode 100644 frontend/web/images/services/cpa/road-analitic_f_5.jpg
create mode 100644 frontend/web/images/services/cpa/road-analitic_f_6.jpg
create mode 100644 frontend/web/images/services/cpa/road-cpa_f_1.jpg
create mode 100644 frontend/web/images/services/cpa/road-cpa_f_2.jpg
create mode 100644 frontend/web/images/services/cpa/road-cpa_f_3.jpg
create mode 100644 frontend/web/images/services/cpa/road-cpa_f_4.jpg
create mode 100644 frontend/web/images/services/cpa/road-cpa_f_5.jpg
create mode 100644 frontend/web/images/services/cpa/road-cpa_f_6.jpg
create mode 100644 frontend/web/images/services/cpa/road-cpa_f_7.jpg
create mode 100644 frontend/web/images/services/cpa/road-cpa_f_8.jpg
create mode 100644 frontend/web/images/services/cpa/road-seo.jpg
create mode 100644 frontend/web/images/services/cpa/road-webcreat_f_1.jpg
create mode 100644 frontend/web/images/services/cpa/road-webcreat_f_2.jpg
create mode 100644 frontend/web/images/services/cpa/road-webcreat_f_3.jpg
create mode 100644 frontend/web/images/services/cpa/road-webcreat_f_4.jpg
create mode 100644 frontend/web/images/services/cpa/road-webcreat_f_5.jpg
create mode 100644 frontend/web/images/services/cpa/road-webcreat_f_6.jpg
create mode 100644 frontend/web/images/services/cpa/road-webcreat_f_7.jpg
create mode 100644 frontend/web/images/services/cpa/road.jpg
create mode 100644 frontend/web/images/services/cpa/seed.jpg
create mode 100644 frontend/web/images/services/cpa/seo_f_1.png
create mode 100644 frontend/web/images/services/cpa/seo_f_2.png
create mode 100644 frontend/web/images/services/cpa/seo_f_3.png
create mode 100644 frontend/web/images/services/cpa/seti-cpa.jpg
create mode 100644 frontend/web/images/services/cpa/seti_arrow.jpg
create mode 100644 frontend/web/images/services/cpa/slide-1.jpg
create mode 100644 frontend/web/images/services/cpa/slide-2.png
create mode 100644 frontend/web/images/services/cpa/slide-3.png
create mode 100644 frontend/web/images/services/cpa/smm_arrow.jpg
create mode 100644 frontend/web/images/services/cpa/smm_f_2.jpg
create mode 100644 frontend/web/images/services/cpa/soc_f_1.jpg
create mode 100644 frontend/web/images/services/cpa/soc_f_2.jpg
create mode 100644 frontend/web/images/services/cpa/soc_f_3.jpg
create mode 100644 frontend/web/images/services/cpa/soc_f_4.jpg
create mode 100644 frontend/web/images/services/cpa/soc_f_5.jpg
create mode 100644 frontend/web/images/services/cpa/soc_f_6.jpg
create mode 100644 frontend/web/images/services/cpa/soc_f_7.jpg
create mode 100644 frontend/web/images/services/cpa/sveta.png
create mode 100644 frontend/web/images/services/cpa/team-webcreat.jpg
create mode 100644 frontend/web/images/services/cpa/why_cpa_f_1.jpg
create mode 100644 frontend/web/images/services/cpa/why_cpa_f_11.jpg
create mode 100644 frontend/web/images/services/cpa/why_cpa_f_2.jpg
create mode 100644 frontend/web/images/services/cpa/why_cpa_f_3.jpg
create mode 100644 frontend/web/images/services/cpa/why_cpa_f_4.jpg
create mode 100644 frontend/web/images/services/cpa/why_cpa_f_5.jpg
create mode 100644 frontend/web/images/services/cpa/why_cpa_f_6.jpg
create mode 100644 frontend/web/images/services/cpa/why_cpa_f_7.jpg
create mode 100644 frontend/web/images/services/cpa/why_cpa_f_8.jpg
create mode 100644 frontend/web/images/services/cpc/b-audit-bg_smm.jpg
create mode 100644 frontend/web/images/services/cpc/context-team.jpg
create mode 100644 frontend/web/images/services/cpc/cpc-seed_f_1.png
create mode 100644 frontend/web/images/services/cpc/cpc-seed_f_2.png
create mode 100644 frontend/web/images/services/cpc/cpc-seed_f_3.png
create mode 100644 frontend/web/images/services/cpc/cpc.png
create mode 100644 frontend/web/images/services/cpc/cpc_f_1.jpg
create mode 100644 frontend/web/images/services/cpc/cpc_f_2.jpg
create mode 100644 frontend/web/images/services/cpc/cpc_f_3.jpg
create mode 100644 frontend/web/images/services/cpc/cpc_f_4.jpg
create mode 100644 frontend/web/images/services/cpc/line-bg-services.png
create mode 100644 frontend/web/images/services/cpc/line_smm.jpg
create mode 100644 frontend/web/images/services/cpc/reason.jpg
create mode 100644 frontend/web/images/services/cpc/road-content.jpg
create mode 100644 frontend/web/images/services/cpc/road-cpc_f_1.jpg
create mode 100644 frontend/web/images/services/cpc/road-cpc_f_2.jpg
create mode 100644 frontend/web/images/services/cpc/road-cpc_f_3.jpg
create mode 100644 frontend/web/images/services/cpc/road-cpc_f_4.jpg
create mode 100644 frontend/web/images/services/cpc/road-cpc_f_5.jpg
create mode 100644 frontend/web/images/services/cpc/road-cpc_f_6.jpg
create mode 100644 frontend/web/images/services/cpc/road-cpc_f_7.jpg
create mode 100644 frontend/web/images/services/cpc/road-cpc_f_8.png
create mode 100644 frontend/web/images/services/cpc/seed.jpg
create mode 100644 frontend/web/images/services/cpc/seti-cpc.jpg
create mode 100644 frontend/web/images/services/cpc/seti_arrow.jpg
create mode 100644 frontend/web/images/services/cpc/slide-1.jpg
create mode 100644 frontend/web/images/services/cpc/slide-2.png
create mode 100644 frontend/web/images/services/cpc/slide-3.png
create mode 100644 frontend/web/images/services/cpc/smm_arrow.jpg
create mode 100644 frontend/web/images/services/cpc/soc_f_1.jpg
create mode 100644 frontend/web/images/services/cpc/soc_f_2.jpg
create mode 100644 frontend/web/images/services/cpc/soc_f_3.jpg
create mode 100644 frontend/web/images/services/cpc/soc_f_4.jpg
create mode 100644 frontend/web/images/services/cpc/soc_f_5.jpg
create mode 100644 frontend/web/images/services/cpc/soc_f_6.jpg
create mode 100644 frontend/web/images/services/cpc/soc_f_7.jpg
create mode 100644 frontend/web/images/services/cpc/why_cpc_f_1.jpg
create mode 100644 frontend/web/images/services/cpc/why_cpc_f_10.jpg
create mode 100644 frontend/web/images/services/cpc/why_cpc_f_2.jpg
create mode 100644 frontend/web/images/services/cpc/why_cpc_f_3.jpg
create mode 100644 frontend/web/images/services/cpc/why_cpc_f_4.jpg
create mode 100644 frontend/web/images/services/cpc/why_cpc_f_5.jpg
create mode 100644 frontend/web/images/services/cpc/why_cpc_f_6.jpg
create mode 100644 frontend/web/images/services/cpc/why_cpc_f_7.jpg
create mode 100644 frontend/web/images/services/cpc/why_cpc_f_8.jpg
create mode 100644 frontend/web/images/services/cpc/why_cpc_f_9.jpg
create mode 100644 frontend/web/images/services/cpc/yulia.png
create mode 100644 frontend/web/images/services/cpc/Íîâûé òåêñòîâûé äîêóìåíò.txt
create mode 100644 frontend/web/images/services/design/analitic_f_1.jpg
create mode 100644 frontend/web/images/services/design/analitic_f_2.jpg
create mode 100644 frontend/web/images/services/design/analitic_f_3.jpg
create mode 100644 frontend/web/images/services/design/analitic_f_4.jpg
create mode 100644 frontend/web/images/services/design/andrey.png
create mode 100644 frontend/web/images/services/design/b-audit-bg_smm.jpg
create mode 100644 frontend/web/images/services/design/design.png
create mode 100644 frontend/web/images/services/design/design_f_1.jpg
create mode 100644 frontend/web/images/services/design/design_f_1.png
create mode 100644 frontend/web/images/services/design/design_f_2.jpg
create mode 100644 frontend/web/images/services/design/design_f_2.png
create mode 100644 frontend/web/images/services/design/design_f_3.jpg
create mode 100644 frontend/web/images/services/design/design_f_3.png
create mode 100644 frontend/web/images/services/design/design_f_4.jpg
create mode 100644 frontend/web/images/services/design/line-bg-services.png
create mode 100644 frontend/web/images/services/design/line_smm.jpg
create mode 100644 frontend/web/images/services/design/reason.jpg
create mode 100644 frontend/web/images/services/design/road-design_f_1.jpg
create mode 100644 frontend/web/images/services/design/road-design_f_2.jpg
create mode 100644 frontend/web/images/services/design/road-design_f_3.jpg
create mode 100644 frontend/web/images/services/design/road-design_f_4.jpg
create mode 100644 frontend/web/images/services/design/road-design_f_5.jpg
create mode 100644 frontend/web/images/services/design/road-design_f_6.jpg
create mode 100644 frontend/web/images/services/design/road-design_f_7.jpg
create mode 100644 frontend/web/images/services/design/road-design_f_8.jpg
create mode 100644 frontend/web/images/services/design/road-segmnt.jpg
create mode 100644 frontend/web/images/services/design/road.jpg
create mode 100644 frontend/web/images/services/design/seed.jpg
create mode 100644 frontend/web/images/services/design/seti-design.jpg
create mode 100644 frontend/web/images/services/design/seti_arrow.jpg
create mode 100644 frontend/web/images/services/design/slide-1.jpg
create mode 100644 frontend/web/images/services/design/slide-2.png
create mode 100644 frontend/web/images/services/design/slide-3.png
create mode 100644 frontend/web/images/services/design/smm_arrow.jpg
create mode 100644 frontend/web/images/services/design/smm_f_2.jpg
create mode 100644 frontend/web/images/services/design/soc_f_1.jpg
create mode 100644 frontend/web/images/services/design/soc_f_2.jpg
create mode 100644 frontend/web/images/services/design/soc_f_3.jpg
create mode 100644 frontend/web/images/services/design/soc_f_4.jpg
create mode 100644 frontend/web/images/services/design/soc_f_5.jpg
create mode 100644 frontend/web/images/services/design/soc_f_6.jpg
create mode 100644 frontend/web/images/services/design/soc_f_7.jpg
create mode 100644 frontend/web/images/services/design/team-webcreat.jpg
create mode 100644 frontend/web/images/services/design/why_webdesign_f_1.jpg
create mode 100644 frontend/web/images/services/design/why_webdesign_f_2.jpg
create mode 100644 frontend/web/images/services/design/why_webdesign_f_3.jpg
create mode 100644 frontend/web/images/services/design/why_webdesign_f_4.jpg
create mode 100644 frontend/web/images/services/design/why_webdesign_f_5.jpg
create mode 100644 frontend/web/images/services/design/why_webdesign_f_6.jpg
create mode 100644 frontend/web/images/services/design/why_webdesign_f_7.jpg
create mode 100644 frontend/web/images/services/design/why_webdesign_f_8.jpg
create mode 100644 frontend/web/images/services/design/why_webdesign_f_9.jpg
create mode 100644 frontend/web/images/services/email/b-audit-bg_smm.jpg
create mode 100644 frontend/web/images/services/email/email.png
create mode 100644 frontend/web/images/services/email/line-bg-services.png
create mode 100644 frontend/web/images/services/email/line_smm.jpg
create mode 100644 frontend/web/images/services/email/reason.jpg
create mode 100644 frontend/web/images/services/email/road-email-1.jpg
create mode 100644 frontend/web/images/services/email/road-email-10.jpg
create mode 100644 frontend/web/images/services/email/road-email-11.jpg
create mode 100644 frontend/web/images/services/email/road-email-12.jpg
create mode 100644 frontend/web/images/services/email/road-email-2.jpg
create mode 100644 frontend/web/images/services/email/road-email-3.jpg
create mode 100644 frontend/web/images/services/email/road-email-4.jpg
create mode 100644 frontend/web/images/services/email/road-email-5.jpg
create mode 100644 frontend/web/images/services/email/road-email-6.jpg
create mode 100644 frontend/web/images/services/email/road-email-7.jpg
create mode 100644 frontend/web/images/services/email/road-email-8.jpg
create mode 100644 frontend/web/images/services/email/road-email-9.jpg
create mode 100644 frontend/web/images/services/email/road-email.jpg
create mode 100644 frontend/web/images/services/email/road.jpg
create mode 100644 frontend/web/images/services/email/seed_f_1.png
create mode 100644 frontend/web/images/services/email/seed_f_2.png
create mode 100644 frontend/web/images/services/email/seed_f_3.png
create mode 100644 frontend/web/images/services/email/seti-y-2.jpg
create mode 100644 frontend/web/images/services/email/seti_arrow.jpg
create mode 100644 frontend/web/images/services/email/slide-1.jpg
create mode 100644 frontend/web/images/services/email/slide-2.png
create mode 100644 frontend/web/images/services/email/slide-3.png
create mode 100644 frontend/web/images/services/email/smm_arrow.jpg
create mode 100644 frontend/web/images/services/email/smm_f_1.jpg
create mode 100644 frontend/web/images/services/email/smm_f_2.jpg
create mode 100644 frontend/web/images/services/email/smm_f_3.jpg
create mode 100644 frontend/web/images/services/email/smm_f_4.jpg
create mode 100644 frontend/web/images/services/email/soc_f_1.jpg
create mode 100644 frontend/web/images/services/email/soc_f_2.jpg
create mode 100644 frontend/web/images/services/email/soc_f_3.jpg
create mode 100644 frontend/web/images/services/email/soc_f_4.jpg
create mode 100644 frontend/web/images/services/email/soc_f_5.jpg
create mode 100644 frontend/web/images/services/email/soc_f_6.jpg
create mode 100644 frontend/web/images/services/email/soc_f_7.jpg
create mode 100644 frontend/web/images/services/email/team.jpg
create mode 100644 frontend/web/images/services/email/why_email_f_1.jpg
create mode 100644 frontend/web/images/services/email/why_email_f_11.jpg
create mode 100644 frontend/web/images/services/email/why_email_f_12.jpg
create mode 100644 frontend/web/images/services/email/why_email_f_13.jpg
create mode 100644 frontend/web/images/services/email/why_email_f_14.jpg
create mode 100644 frontend/web/images/services/email/why_email_f_15.jpg
create mode 100644 frontend/web/images/services/email/why_email_f_2.jpg
create mode 100644 frontend/web/images/services/email/why_email_f_3.jpg
create mode 100644 frontend/web/images/services/email/why_email_f_4.jpg
create mode 100644 frontend/web/images/services/email/why_email_f_5.jpg
create mode 100644 frontend/web/images/services/email/why_email_f_6.jpg
create mode 100644 frontend/web/images/services/email/why_email_f_7.jpg
create mode 100644 frontend/web/images/services/email/why_email_f_8.jpg
create mode 100644 frontend/web/images/services/email/yulia.png
create mode 100644 frontend/web/images/services/integration/andrey.png
create mode 100644 frontend/web/images/services/integration/b-audit-bg_smm.jpg
create mode 100644 frontend/web/images/services/integration/integracia.png
create mode 100644 frontend/web/images/services/integration/integracia_f_1.jpg
create mode 100644 frontend/web/images/services/integration/integracia_f_1.png
create mode 100644 frontend/web/images/services/integration/integracia_f_2.jpg
create mode 100644 frontend/web/images/services/integration/integracia_f_2.png
create mode 100644 frontend/web/images/services/integration/integracia_f_3.jpg
create mode 100644 frontend/web/images/services/integration/integracia_f_3.png
create mode 100644 frontend/web/images/services/integration/integracia_f_4.jpg
create mode 100644 frontend/web/images/services/integration/line-bg-services.png
create mode 100644 frontend/web/images/services/integration/line_smm.jpg
create mode 100644 frontend/web/images/services/integration/reason.jpg
create mode 100644 frontend/web/images/services/integration/road-integracia_f_1.jpg
create mode 100644 frontend/web/images/services/integration/road-integracia_f_2.jpg
create mode 100644 frontend/web/images/services/integration/road-integracia_f_3.jpg
create mode 100644 frontend/web/images/services/integration/road-integracia_f_4.jpg
create mode 100644 frontend/web/images/services/integration/road-integracia_f_5.jpg
create mode 100644 frontend/web/images/services/integration/road-integracia_f_6.jpg
create mode 100644 frontend/web/images/services/integration/road-integracia_f_7.jpg
create mode 100644 frontend/web/images/services/integration/road-integracia_f_8.jpg
create mode 100644 frontend/web/images/services/integration/road-segmnt.jpg
create mode 100644 frontend/web/images/services/integration/seed.jpg
create mode 100644 frontend/web/images/services/integration/seti-integracia.jpg
create mode 100644 frontend/web/images/services/integration/seti_arrow.jpg
create mode 100644 frontend/web/images/services/integration/slide-1.jpg
create mode 100644 frontend/web/images/services/integration/slide-2.png
create mode 100644 frontend/web/images/services/integration/slide-3.png
create mode 100644 frontend/web/images/services/integration/smm_arrow.jpg
create mode 100644 frontend/web/images/services/integration/smm_f_2.jpg
create mode 100644 frontend/web/images/services/integration/soc_f_1.jpg
create mode 100644 frontend/web/images/services/integration/soc_f_2.jpg
create mode 100644 frontend/web/images/services/integration/soc_f_3.jpg
create mode 100644 frontend/web/images/services/integration/soc_f_4.jpg
create mode 100644 frontend/web/images/services/integration/soc_f_5.jpg
create mode 100644 frontend/web/images/services/integration/soc_f_6.jpg
create mode 100644 frontend/web/images/services/integration/soc_f_7.jpg
create mode 100644 frontend/web/images/services/integration/team-integracia.jpg
create mode 100644 frontend/web/images/services/integration/why_integracia_f_1.jpg
create mode 100644 frontend/web/images/services/integration/why_integracia_f_10.jpg
create mode 100644 frontend/web/images/services/integration/why_integracia_f_11.jpg
create mode 100644 frontend/web/images/services/integration/why_integracia_f_2.jpg
create mode 100644 frontend/web/images/services/integration/why_integracia_f_3.jpg
create mode 100644 frontend/web/images/services/integration/why_integracia_f_4.jpg
create mode 100644 frontend/web/images/services/integration/why_integracia_f_5.jpg
create mode 100644 frontend/web/images/services/integration/why_integracia_f_6.jpg
create mode 100644 frontend/web/images/services/integration/why_integracia_f_7.jpg
create mode 100644 frontend/web/images/services/integration/why_integracia_f_8.jpg
create mode 100644 frontend/web/images/services/integration/why_integracia_f_9.jpg
create mode 100644 frontend/web/images/services/segmnt/anton.png
create mode 100644 frontend/web/images/services/segmnt/b-audit-bg_smm.jpg
create mode 100644 frontend/web/images/services/segmnt/line-bg-services.png
create mode 100644 frontend/web/images/services/segmnt/line_smm.jpg
create mode 100644 frontend/web/images/services/segmnt/reason.jpg
create mode 100644 frontend/web/images/services/segmnt/road-segmnt.jpg
create mode 100644 frontend/web/images/services/segmnt/road-segmnt_f_1.jpg
create mode 100644 frontend/web/images/services/segmnt/road-segmnt_f_2.jpg
create mode 100644 frontend/web/images/services/segmnt/road-segmnt_f_3.jpg
create mode 100644 frontend/web/images/services/segmnt/road-segmnt_f_4.jpg
create mode 100644 frontend/web/images/services/segmnt/road-segmnt_f_5.jpg
create mode 100644 frontend/web/images/services/segmnt/road-segmnt_f_6.jpg
create mode 100644 frontend/web/images/services/segmnt/road.jpg
create mode 100644 frontend/web/images/services/segmnt/seed.jpg
create mode 100644 frontend/web/images/services/segmnt/seed_f_1.png
create mode 100644 frontend/web/images/services/segmnt/seed_f_2.png
create mode 100644 frontend/web/images/services/segmnt/seed_f_3.png
create mode 100644 frontend/web/images/services/segmnt/segmnt.png
create mode 100644 frontend/web/images/services/segmnt/segmnt_f_1.jpg
create mode 100644 frontend/web/images/services/segmnt/segmnt_f_2.jpg
create mode 100644 frontend/web/images/services/segmnt/segmnt_f_3.jpg
create mode 100644 frontend/web/images/services/segmnt/segmnt_f_4.jpg
create mode 100644 frontend/web/images/services/segmnt/seti-segmnt.jpg
create mode 100644 frontend/web/images/services/segmnt/seti_arrow.jpg
create mode 100644 frontend/web/images/services/segmnt/slide-1.jpg
create mode 100644 frontend/web/images/services/segmnt/slide-2.png
create mode 100644 frontend/web/images/services/segmnt/slide-3.png
create mode 100644 frontend/web/images/services/segmnt/smm_arrow.jpg
create mode 100644 frontend/web/images/services/segmnt/soc_f_1.jpg
create mode 100644 frontend/web/images/services/segmnt/soc_f_2.jpg
create mode 100644 frontend/web/images/services/segmnt/soc_f_3.jpg
create mode 100644 frontend/web/images/services/segmnt/soc_f_4.jpg
create mode 100644 frontend/web/images/services/segmnt/soc_f_5.jpg
create mode 100644 frontend/web/images/services/segmnt/soc_f_6.jpg
create mode 100644 frontend/web/images/services/segmnt/soc_f_7.jpg
create mode 100644 frontend/web/images/services/segmnt/team-segmnt.jpg
create mode 100644 frontend/web/images/services/segmnt/why_segmnt_f_1.jpg
create mode 100644 frontend/web/images/services/segmnt/why_segmnt_f_10.jpg
create mode 100644 frontend/web/images/services/segmnt/why_segmnt_f_2.jpg
create mode 100644 frontend/web/images/services/segmnt/why_segmnt_f_3.jpg
create mode 100644 frontend/web/images/services/segmnt/why_segmnt_f_4.jpg
create mode 100644 frontend/web/images/services/segmnt/why_segmnt_f_5.jpg
create mode 100644 frontend/web/images/services/segmnt/why_segmnt_f_6.jpg
create mode 100644 frontend/web/images/services/segmnt/why_segmnt_f_7.jpg
create mode 100644 frontend/web/images/services/segmnt/why_segmnt_f_8.jpg
create mode 100644 frontend/web/images/services/segmnt/why_segmnt_f_9.jpg
create mode 100644 frontend/web/images/services/seo/anton.png
create mode 100644 frontend/web/images/services/seo/b-audit-bg_smm.jpg
create mode 100644 frontend/web/images/services/seo/line-bg-services.png
create mode 100644 frontend/web/images/services/seo/line_smm.jpg
create mode 100644 frontend/web/images/services/seo/reason.jpg
create mode 100644 frontend/web/images/services/seo/road-analitic_f_1.jpg
create mode 100644 frontend/web/images/services/seo/road-analitic_f_2.jpg
create mode 100644 frontend/web/images/services/seo/road-analitic_f_3.jpg
create mode 100644 frontend/web/images/services/seo/road-analitic_f_4.jpg
create mode 100644 frontend/web/images/services/seo/road-analitic_f_5.jpg
create mode 100644 frontend/web/images/services/seo/road-analitic_f_6.jpg
create mode 100644 frontend/web/images/services/seo/road-seo.jpg
create mode 100644 frontend/web/images/services/seo/road-webcreat_f_1.jpg
create mode 100644 frontend/web/images/services/seo/road-webcreat_f_2.jpg
create mode 100644 frontend/web/images/services/seo/road-webcreat_f_3.jpg
create mode 100644 frontend/web/images/services/seo/road-webcreat_f_4.jpg
create mode 100644 frontend/web/images/services/seo/road-webcreat_f_5.jpg
create mode 100644 frontend/web/images/services/seo/road-webcreat_f_6.jpg
create mode 100644 frontend/web/images/services/seo/road-webcreat_f_7.jpg
create mode 100644 frontend/web/images/services/seo/road.jpg
create mode 100644 frontend/web/images/services/seo/seed.jpg
create mode 100644 frontend/web/images/services/seo/seo.png
create mode 100644 frontend/web/images/services/seo/seo_f_1.jpg
create mode 100644 frontend/web/images/services/seo/seo_f_1.png
create mode 100644 frontend/web/images/services/seo/seo_f_2.jpg
create mode 100644 frontend/web/images/services/seo/seo_f_2.png
create mode 100644 frontend/web/images/services/seo/seo_f_3.jpg
create mode 100644 frontend/web/images/services/seo/seo_f_3.png
create mode 100644 frontend/web/images/services/seo/seo_f_4.jpg
create mode 100644 frontend/web/images/services/seo/seti-webcreat.jpg
create mode 100644 frontend/web/images/services/seo/seti_arrow.jpg
create mode 100644 frontend/web/images/services/seo/slide-1.jpg
create mode 100644 frontend/web/images/services/seo/slide-2.png
create mode 100644 frontend/web/images/services/seo/slide-3.png
create mode 100644 frontend/web/images/services/seo/smm_arrow.jpg
create mode 100644 frontend/web/images/services/seo/smm_f_2.jpg
create mode 100644 frontend/web/images/services/seo/soc_f_1.jpg
create mode 100644 frontend/web/images/services/seo/soc_f_2.jpg
create mode 100644 frontend/web/images/services/seo/soc_f_3.jpg
create mode 100644 frontend/web/images/services/seo/soc_f_4.jpg
create mode 100644 frontend/web/images/services/seo/soc_f_5.jpg
create mode 100644 frontend/web/images/services/seo/soc_f_6.jpg
create mode 100644 frontend/web/images/services/seo/soc_f_7.jpg
create mode 100644 frontend/web/images/services/seo/team-webcreat.jpg
create mode 100644 frontend/web/images/services/seo/why_seot_f_1.jpg
create mode 100644 frontend/web/images/services/seo/why_seot_f_10.jpg
create mode 100644 frontend/web/images/services/seo/why_seot_f_11.jpg
create mode 100644 frontend/web/images/services/seo/why_seot_f_12.jpg
create mode 100644 frontend/web/images/services/seo/why_seot_f_13.jpg
create mode 100644 frontend/web/images/services/seo/why_seot_f_14.jpg
create mode 100644 frontend/web/images/services/seo/why_seot_f_15.jpg
create mode 100644 frontend/web/images/services/seo/why_seot_f_2.jpg
create mode 100644 frontend/web/images/services/seo/why_seot_f_3.jpg
create mode 100644 frontend/web/images/services/seo/why_seot_f_4.jpg
create mode 100644 frontend/web/images/services/seo/why_seot_f_5.jpg
create mode 100644 frontend/web/images/services/seo/why_seot_f_6.jpg
create mode 100644 frontend/web/images/services/seo/why_seot_f_7.jpg
create mode 100644 frontend/web/images/services/seo/why_seot_f_8.jpg
create mode 100644 frontend/web/images/services/seo/why_seot_f_9.jpg
create mode 100644 frontend/web/images/services/serm/b-audit-bg_smm.jpg
create mode 100644 frontend/web/images/services/serm/line-bg-services.png
create mode 100644 frontend/web/images/services/serm/line_smm.jpg
create mode 100644 frontend/web/images/services/serm/reason.jpg
create mode 100644 frontend/web/images/services/serm/road.jpg
create mode 100644 frontend/web/images/services/serm/road_f_1.jpg
create mode 100644 frontend/web/images/services/serm/road_f_2.jpg
create mode 100644 frontend/web/images/services/serm/road_f_3.jpg
create mode 100644 frontend/web/images/services/serm/road_f_4.jpg
create mode 100644 frontend/web/images/services/serm/road_f_5.jpg
create mode 100644 frontend/web/images/services/serm/road_f_6.jpg
create mode 100644 frontend/web/images/services/serm/road_f_7.jpg
create mode 100644 frontend/web/images/services/serm/road_f_8.jpg
create mode 100644 frontend/web/images/services/serm/road_serm-1.jpg
create mode 100644 frontend/web/images/services/serm/road_serm-2.jpg
create mode 100644 frontend/web/images/services/serm/road_serm-3.jpg
create mode 100644 frontend/web/images/services/serm/road_serm-4.jpg
create mode 100644 frontend/web/images/services/serm/road_serm-5.jpg
create mode 100644 frontend/web/images/services/serm/road_serm-6.jpg
create mode 100644 frontend/web/images/services/serm/road_serm-7.jpg
create mode 100644 frontend/web/images/services/serm/road_serm-8.jpg
create mode 100644 frontend/web/images/services/serm/seed_f_1.png
create mode 100644 frontend/web/images/services/serm/seed_f_2.png
create mode 100644 frontend/web/images/services/serm/seed_f_3.png
create mode 100644 frontend/web/images/services/serm/serm.png
create mode 100644 frontend/web/images/services/serm/seti-y.jpg
create mode 100644 frontend/web/images/services/serm/seti_arrow.jpg
create mode 100644 frontend/web/images/services/serm/slide-1.jpg
create mode 100644 frontend/web/images/services/serm/slide-2.png
create mode 100644 frontend/web/images/services/serm/slide-3.png
create mode 100644 frontend/web/images/services/serm/smm_arrow.jpg
create mode 100644 frontend/web/images/services/serm/smm_f_1.jpg
create mode 100644 frontend/web/images/services/serm/smm_f_2.jpg
create mode 100644 frontend/web/images/services/serm/smm_f_3.jpg
create mode 100644 frontend/web/images/services/serm/smm_f_4.jpg
create mode 100644 frontend/web/images/services/serm/soc_f_1.jpg
create mode 100644 frontend/web/images/services/serm/soc_f_2.jpg
create mode 100644 frontend/web/images/services/serm/soc_f_3.jpg
create mode 100644 frontend/web/images/services/serm/soc_f_4.jpg
create mode 100644 frontend/web/images/services/serm/soc_f_5.jpg
create mode 100644 frontend/web/images/services/serm/soc_f_6.jpg
create mode 100644 frontend/web/images/services/serm/soc_f_7.jpg
create mode 100644 frontend/web/images/services/serm/team.jpg
create mode 100644 frontend/web/images/services/serm/why_serm_f_1.jpg
create mode 100644 frontend/web/images/services/serm/why_serm_f_10.jpg
create mode 100644 frontend/web/images/services/serm/why_serm_f_11.jpg
create mode 100644 frontend/web/images/services/serm/why_serm_f_12.jpg
create mode 100644 frontend/web/images/services/serm/why_serm_f_13.jpg
create mode 100644 frontend/web/images/services/serm/why_serm_f_14.jpg
create mode 100644 frontend/web/images/services/serm/why_serm_f_2.jpg
create mode 100644 frontend/web/images/services/serm/why_serm_f_3.jpg
create mode 100644 frontend/web/images/services/serm/why_serm_f_4.jpg
create mode 100644 frontend/web/images/services/serm/why_serm_f_5.jpg
create mode 100644 frontend/web/images/services/serm/why_serm_f_6.jpg
create mode 100644 frontend/web/images/services/serm/why_serm_f_7.jpg
create mode 100644 frontend/web/images/services/serm/why_serm_f_8.jpg
create mode 100644 frontend/web/images/services/serm/why_serm_f_9.jpg
create mode 100644 frontend/web/images/services/serm/work_1.jpg
create mode 100644 frontend/web/images/services/serm/work_2.jpg
create mode 100644 frontend/web/images/services/serm/work_3.jpg
create mode 100644 frontend/web/images/services/serm/work_4.jpg
create mode 100644 frontend/web/images/services/serm/work_5.jpg
create mode 100644 frontend/web/images/services/serm/work_6.jpg
create mode 100644 frontend/web/images/services/serm/work_7.jpg
create mode 100644 frontend/web/images/services/serm/work_8.jpg
create mode 100644 frontend/web/images/services/serm/yulia.png
create mode 100644 frontend/web/images/services/smm/artem.png
create mode 100644 frontend/web/images/services/smm/b-audit-bg_smm.jpg
create mode 100644 frontend/web/images/services/smm/line-bg-services.png
create mode 100644 frontend/web/images/services/smm/line_smm.jpg
create mode 100644 frontend/web/images/services/smm/reason.jpg
create mode 100644 frontend/web/images/services/smm/road.jpg
create mode 100644 frontend/web/images/services/smm/road_f_1.jpg
create mode 100644 frontend/web/images/services/smm/road_f_2.jpg
create mode 100644 frontend/web/images/services/smm/road_f_3.jpg
create mode 100644 frontend/web/images/services/smm/road_f_4.jpg
create mode 100644 frontend/web/images/services/smm/road_f_5.jpg
create mode 100644 frontend/web/images/services/smm/road_f_6.jpg
create mode 100644 frontend/web/images/services/smm/road_f_7.jpg
create mode 100644 frontend/web/images/services/smm/road_f_8.jpg
create mode 100644 frontend/web/images/services/smm/seed.jpg
create mode 100644 frontend/web/images/services/smm/seed_f_1.png
create mode 100644 frontend/web/images/services/smm/seed_f_2.png
create mode 100644 frontend/web/images/services/smm/seed_f_3.png
create mode 100644 frontend/web/images/services/smm/seti.jpg
create mode 100644 frontend/web/images/services/smm/seti_arrow.jpg
create mode 100644 frontend/web/images/services/smm/slide-1.jpg
create mode 100644 frontend/web/images/services/smm/slide-2.png
create mode 100644 frontend/web/images/services/smm/slide-3.png
create mode 100644 frontend/web/images/services/smm/smm.png
create mode 100644 frontend/web/images/services/smm/smm_arrow.jpg
create mode 100644 frontend/web/images/services/smm/smm_f_1.jpg
create mode 100644 frontend/web/images/services/smm/smm_f_2.jpg
create mode 100644 frontend/web/images/services/smm/smm_f_3.jpg
create mode 100644 frontend/web/images/services/smm/smm_f_4.jpg
create mode 100644 frontend/web/images/services/smm/soc_f_1.jpg
create mode 100644 frontend/web/images/services/smm/soc_f_2.jpg
create mode 100644 frontend/web/images/services/smm/soc_f_3.jpg
create mode 100644 frontend/web/images/services/smm/soc_f_4.jpg
create mode 100644 frontend/web/images/services/smm/soc_f_5.jpg
create mode 100644 frontend/web/images/services/smm/soc_f_6.jpg
create mode 100644 frontend/web/images/services/smm/soc_f_7.jpg
create mode 100644 frontend/web/images/services/smm/team.jpg
create mode 100644 frontend/web/images/services/smm/why_smm_f_1.jpg
create mode 100644 frontend/web/images/services/smm/why_smm_f_2.jpg
create mode 100644 frontend/web/images/services/smm/why_smm_f_3.jpg
create mode 100644 frontend/web/images/services/smm/why_smm_f_4.jpg
create mode 100644 frontend/web/images/services/smm/why_smm_f_5.jpg
create mode 100644 frontend/web/images/services/smm/why_smm_f_6.jpg
create mode 100644 frontend/web/images/services/smm/why_smm_f_7.jpg
create mode 100644 frontend/web/images/services/smm/why_smm_f_8.jpg
create mode 100644 frontend/web/images/services/usability/analiz-1.jpg
create mode 100644 frontend/web/images/services/usability/analiz-2.jpg
create mode 100644 frontend/web/images/services/usability/analiz-3.jpg
create mode 100644 frontend/web/images/services/usability/analiz-4.jpg
create mode 100644 frontend/web/images/services/usability/analiz-5.jpg
create mode 100644 frontend/web/images/services/usability/analiz-6.jpg
create mode 100644 frontend/web/images/services/usability/analiz-7.jpg
create mode 100644 frontend/web/images/services/usability/analiz-8.jpg
create mode 100644 frontend/web/images/services/usability/anton.png
create mode 100644 frontend/web/images/services/usability/b-audit-bg_smm.jpg
create mode 100644 frontend/web/images/services/usability/line-bg-services.png
create mode 100644 frontend/web/images/services/usability/line_smm.jpg
create mode 100644 frontend/web/images/services/usability/reason.jpg
create mode 100644 frontend/web/images/services/usability/seed.jpg
create mode 100644 frontend/web/images/services/usability/seed_f_1.png
create mode 100644 frontend/web/images/services/usability/seed_f_2.png
create mode 100644 frontend/web/images/services/usability/seed_f_3.png
create mode 100644 frontend/web/images/services/usability/servise-1.jpg
create mode 100644 frontend/web/images/services/usability/servise-2.jpg
create mode 100644 frontend/web/images/services/usability/servise-3.jpg
create mode 100644 frontend/web/images/services/usability/seti_arrow.jpg
create mode 100644 frontend/web/images/services/usability/slide-1.jpg
create mode 100644 frontend/web/images/services/usability/slide-2.png
create mode 100644 frontend/web/images/services/usability/slide-3.png
create mode 100644 frontend/web/images/services/usability/smm_arrow.jpg
create mode 100644 frontend/web/images/services/usability/smm_f_2.jpg
create mode 100644 frontend/web/images/services/usability/smm_f_3.jpg
create mode 100644 frontend/web/images/services/usability/smm_f_4.jpg
create mode 100644 frontend/web/images/services/usability/soc_f_1.jpg
create mode 100644 frontend/web/images/services/usability/soc_f_2.jpg
create mode 100644 frontend/web/images/services/usability/soc_f_3.jpg
create mode 100644 frontend/web/images/services/usability/soc_f_4.jpg
create mode 100644 frontend/web/images/services/usability/soc_f_5.jpg
create mode 100644 frontend/web/images/services/usability/soc_f_6.jpg
create mode 100644 frontend/web/images/services/usability/soc_f_7.jpg
create mode 100644 frontend/web/images/services/usability/team.jpg
create mode 100644 frontend/web/images/services/usability/uability_f_4.jpg
create mode 100644 frontend/web/images/services/usability/usability-site.jpg
create mode 100644 frontend/web/images/services/usability/usability.jpg
create mode 100644 frontend/web/images/services/usability/usability.png
create mode 100644 frontend/web/images/services/usability/why_usability_f_1.jpg
create mode 100644 frontend/web/images/services/usability/why_usability_f_2.jpg
create mode 100644 frontend/web/images/services/usability/why_usability_f_3.jpg
create mode 100644 frontend/web/images/services/usability/why_usability_f_4.jpg
create mode 100644 frontend/web/images/services/usability/why_usability_f_5.jpg
create mode 100644 frontend/web/images/services/usability/why_usability_f_6.jpg
create mode 100644 frontend/web/images/services/usability/why_usability_f_7.jpg
create mode 100644 frontend/web/images/services/usability/why_usability_f_8.jpg
create mode 100644 frontend/web/images/services/webcreat/analitic_f_1.jpg
create mode 100644 frontend/web/images/services/webcreat/analitic_f_2.jpg
create mode 100644 frontend/web/images/services/webcreat/analitic_f_3.jpg
create mode 100644 frontend/web/images/services/webcreat/analitic_f_4.jpg
create mode 100644 frontend/web/images/services/webcreat/andrey.png
create mode 100644 frontend/web/images/services/webcreat/b-audit-bg_smm.jpg
create mode 100644 frontend/web/images/services/webcreat/line-bg-services.png
create mode 100644 frontend/web/images/services/webcreat/line_smm.jpg
create mode 100644 frontend/web/images/services/webcreat/reason.jpg
create mode 100644 frontend/web/images/services/webcreat/road-analitic_f_1.jpg
create mode 100644 frontend/web/images/services/webcreat/road-analitic_f_2.jpg
create mode 100644 frontend/web/images/services/webcreat/road-analitic_f_3.jpg
create mode 100644 frontend/web/images/services/webcreat/road-analitic_f_4.jpg
create mode 100644 frontend/web/images/services/webcreat/road-analitic_f_5.jpg
create mode 100644 frontend/web/images/services/webcreat/road-analitic_f_6.jpg
create mode 100644 frontend/web/images/services/webcreat/road-segmnt.jpg
create mode 100644 frontend/web/images/services/webcreat/road-webcreat_f_1.jpg
create mode 100644 frontend/web/images/services/webcreat/road-webcreat_f_2.jpg
create mode 100644 frontend/web/images/services/webcreat/road-webcreat_f_3.jpg
create mode 100644 frontend/web/images/services/webcreat/road-webcreat_f_4.jpg
create mode 100644 frontend/web/images/services/webcreat/road-webcreat_f_5.jpg
create mode 100644 frontend/web/images/services/webcreat/road-webcreat_f_6.jpg
create mode 100644 frontend/web/images/services/webcreat/road-webcreat_f_7.jpg
create mode 100644 frontend/web/images/services/webcreat/road.jpg
create mode 100644 frontend/web/images/services/webcreat/seed.jpg
create mode 100644 frontend/web/images/services/webcreat/seti-webcreat.jpg
create mode 100644 frontend/web/images/services/webcreat/seti_arrow.jpg
create mode 100644 frontend/web/images/services/webcreat/slide-1.jpg
create mode 100644 frontend/web/images/services/webcreat/slide-2.png
create mode 100644 frontend/web/images/services/webcreat/slide-3.png
create mode 100644 frontend/web/images/services/webcreat/smm_arrow.jpg
create mode 100644 frontend/web/images/services/webcreat/smm_f_2.jpg
create mode 100644 frontend/web/images/services/webcreat/soc_f_1.jpg
create mode 100644 frontend/web/images/services/webcreat/soc_f_2.jpg
create mode 100644 frontend/web/images/services/webcreat/soc_f_3.jpg
create mode 100644 frontend/web/images/services/webcreat/soc_f_4.jpg
create mode 100644 frontend/web/images/services/webcreat/soc_f_5.jpg
create mode 100644 frontend/web/images/services/webcreat/soc_f_6.jpg
create mode 100644 frontend/web/images/services/webcreat/soc_f_7.jpg
create mode 100644 frontend/web/images/services/webcreat/team-webcreat.jpg
create mode 100644 frontend/web/images/services/webcreat/webcreat.png
create mode 100644 frontend/web/images/services/webcreat/webcreat_f_1.png
create mode 100644 frontend/web/images/services/webcreat/webcreat_f_2.png
create mode 100644 frontend/web/images/services/webcreat/webcreat_f_3.png
create mode 100644 frontend/web/images/services/webcreat/why_webcreat_f_1.jpg
create mode 100644 frontend/web/images/services/webcreat/why_webcreat_f_10.jpg
create mode 100644 frontend/web/images/services/webcreat/why_webcreat_f_11.jpg
create mode 100644 frontend/web/images/services/webcreat/why_webcreat_f_2.jpg
create mode 100644 frontend/web/images/services/webcreat/why_webcreat_f_3.jpg
create mode 100644 frontend/web/images/services/webcreat/why_webcreat_f_4.jpg
create mode 100644 frontend/web/images/services/webcreat/why_webcreat_f_5.jpg
create mode 100644 frontend/web/images/services/webcreat/why_webcreat_f_6.jpg
create mode 100644 frontend/web/images/services/webcreat/why_webcreat_f_7.jpg
create mode 100644 frontend/web/images/services/webcreat/why_webcreat_f_8.jpg
create mode 100644 frontend/web/images/services/webcreat/why_webcreat_f_9.jpg
create mode 100644 frontend/web/images/skit-btn.png
create mode 100644 frontend/web/images/soc-1.jpg
create mode 100644 frontend/web/images/soc-2.jpg
create mode 100644 frontend/web/images/soc-3.jpg
create mode 100644 frontend/web/images/soc-4.jpg
create mode 100644 frontend/web/images/soc-5.jpg
create mode 100644 frontend/web/images/social-ico.png
create mode 100644 frontend/web/images/team-plus-bg-2.png
create mode 100644 frontend/web/images/team-plus-bg.png
create mode 100644 frontend/web/images/team-plus-click.png
create mode 100644 frontend/web/images/team-plus.png
create mode 100644 frontend/web/images/teamitem/ajax-loader.gif
create mode 100644 frontend/web/images/teamitem/book_1.jpg
create mode 100644 frontend/web/images/teamitem/book_2.jpg
create mode 100644 frontend/web/images/teamitem/book_3.jpg
create mode 100644 frontend/web/images/teamitem/book_4.jpg
create mode 100644 frontend/web/images/teamitem/book_5.jpg
create mode 100644 frontend/web/images/teamitem/fb.png
create mode 100644 frontend/web/images/teamitem/film_1.jpg
create mode 100644 frontend/web/images/teamitem/film_2.jpg
create mode 100644 frontend/web/images/teamitem/film_3.jpg
create mode 100644 frontend/web/images/teamitem/film_4.jpg
create mode 100644 frontend/web/images/teamitem/film_5.jpg
create mode 100644 frontend/web/images/teamitem/iq.png
create mode 100644 frontend/web/images/teamitem/mail.jpg
create mode 100644 frontend/web/images/teamitem/min_1.png
create mode 100644 frontend/web/images/teamitem/min_2.png
create mode 100644 frontend/web/images/teamitem/min_3.png
create mode 100644 frontend/web/images/teamitem/min_4.png
create mode 100644 frontend/web/images/teamitem/min_5.png
create mode 100644 frontend/web/images/teamitem/stars 2.png
create mode 100644 frontend/web/images/teamitem/stars.png
create mode 100644 frontend/web/images/teamitem/sveta.jpg
create mode 100644 frontend/web/images/teamitem/twitter.png
create mode 100644 frontend/web/images/teamitem/vk.png
create mode 100644 frontend/web/images/teamitem/zodiak_vodoley.png
create mode 100644 frontend/web/images/vacancies/arrow-slider-left-active.png
create mode 100644 frontend/web/images/vacancies/arrow-slider-left.png
create mode 100644 frontend/web/images/vacancies/arrow-slider-right-active.png
create mode 100644 frontend/web/images/vacancies/arrow-slider-right.png
create mode 100644 frontend/web/images/vacancies/bg-block-1.png
create mode 100644 frontend/web/images/vacancies/bg-block-last.jpg
create mode 100644 frontend/web/images/vacancies/bill.png
create mode 100644 frontend/web/images/vacancies/border-gradient.jpg
create mode 100644 frontend/web/images/vacancies/certificates-f-1.jpg
create mode 100644 frontend/web/images/vacancies/certificates.png
create mode 100644 frontend/web/images/vacancies/darts-bg.jpg
create mode 100644 frontend/web/images/vacancies/darts.png
create mode 100644 frontend/web/images/vacancies/ico-php.jpg
create mode 100644 frontend/web/images/vacancies/ico-seo.jpg
create mode 100644 frontend/web/images/vacancies/line-php.png
create mode 100644 frontend/web/images/vacancies/proposition-f-1.png
create mode 100644 frontend/web/images/vacancies/proposition-f-2.png
create mode 100644 frontend/web/images/vacancies/proposition-f-3.png
create mode 100644 frontend/web/images/vacancies/proposition-f-4.png
create mode 100644 frontend/web/images/vacancies/proposition-f-5.png
create mode 100644 frontend/web/images/vacancies/proposition-f-6.png
create mode 100644 frontend/web/images/vacancies/proposition-f-7.png
create mode 100644 frontend/web/images/vacancies/proposition-f-8.png
create mode 100644 frontend/web/images/vacancies/proposition.jpg
create mode 100644 frontend/web/images/vacancies/qwe/slide-1.jpg
create mode 100644 frontend/web/images/vacancies/qwe/slide-2.jpg
create mode 100644 frontend/web/images/vacancies/qwe/slide-3.jpg
create mode 100644 frontend/web/images/vacancies/qwe/slide-4.jpg
create mode 100644 frontend/web/images/vacancies/qwe/slide-5.jpg
create mode 100644 frontend/web/images/vacancies/rocket-line-2.png
create mode 100644 frontend/web/images/vacancies/rocket-line.png
create mode 100644 frontend/web/images/vacancies/shadow-darts.png
create mode 100644 frontend/web/images/vacancies/sveta-darts.png
create mode 100644 frontend/web/images/vacancies/tallants-f-1-hover.jpg
create mode 100644 frontend/web/images/vacancies/tallants-f-1.png
create mode 100644 frontend/web/images/vacancies/tallants-f-2-hover.jpg
create mode 100644 frontend/web/images/vacancies/tallants-f-2.png
create mode 100644 frontend/web/images/vacancies/tallants-f-3-hover.jpg
create mode 100644 frontend/web/images/vacancies/tallants-f-3.png
create mode 100644 frontend/web/images/vacancies/tallants-f-line.png
create mode 100644 frontend/web/images/vacancies/vacant-andrej.png
create mode 100644 frontend/web/images/vacancies/vacant-anton.png
create mode 100644 frontend/web/images/vacancies/vacant-bg.jpg
create mode 100644 frontend/web/images/vacancies/vacant-slavik.png
create mode 100644 frontend/web/images/zodiac/aquarius.png
create mode 100644 frontend/web/images/zodiac/aries.png
create mode 100644 frontend/web/images/zodiac/cancer.png
create mode 100644 frontend/web/images/zodiac/capricorn.png
create mode 100644 frontend/web/images/zodiac/gemini.png
create mode 100644 frontend/web/images/zodiac/leo.png
create mode 100644 frontend/web/images/zodiac/libra.png
create mode 100644 frontend/web/images/zodiac/pisces.png
create mode 100644 frontend/web/images/zodiac/sagittarius.png
create mode 100644 frontend/web/images/zodiac/scorpio.png
create mode 100644 frontend/web/images/zodiac/taurus.png
create mode 100644 frontend/web/images/zodiac/virgo.png
create mode 100644 frontend/web/js/addons/sliderkit.counter.1.0.js
create mode 100644 frontend/web/js/addons/sliderkit.counter.1.0.pack.js
create mode 100644 frontend/web/js/addons/sliderkit.delaycaptions.1.1.js
create mode 100644 frontend/web/js/addons/sliderkit.delaycaptions.1.1.pack.js
create mode 100644 frontend/web/js/addons/sliderkit.imagefx.1.0.js
create mode 100644 frontend/web/js/addons/sliderkit.imagefx.1.0.pack.js
create mode 100644 frontend/web/js/addons/sliderkit.timer.1.0.js
create mode 100644 frontend/web/js/addons/sliderkit.timer.1.0.pack.js
create mode 100644 frontend/web/js/contact.js
create mode 100644 frontend/web/js/external/jquery.easing.1.3.min.js
create mode 100644 frontend/web/js/external/jquery.mousewheel.min.js
create mode 100644 frontend/web/js/external/jquery.supertoc.js
create mode 100644 frontend/web/js/external/jquery.supertoc.min.js
create mode 100644 frontend/web/js/external/jquery.ui.totop.js
create mode 100644 frontend/web/js/graph.js
create mode 100644 frontend/web/js/highcharts.js
create mode 100644 frontend/web/js/jquery-ui-1.9.2.custom.min.js
create mode 100644 frontend/web/js/jquery.maskedinput.min.js
create mode 100644 frontend/web/js/jquery.scrollbox.min.js
create mode 100644 frontend/web/js/jquery.sliderkit.1.9.2.js
create mode 100644 frontend/web/js/jquery.sliderkit.1.9.2.pack.js
create mode 100644 frontend/web/js/main.js
create mode 100644 frontend/web/js/oldies.js
create mode 100644 frontend/web/js/script.js
create mode 100644 frontend/web/js/services/analitic.js
create mode 100644 frontend/web/js/services/content.js
create mode 100644 frontend/web/js/services/context.js
create mode 100644 frontend/web/js/services/cpa.js
create mode 100644 frontend/web/js/services/cpc.js
create mode 100644 frontend/web/js/services/design.js
create mode 100644 frontend/web/js/services/email.js
create mode 100644 frontend/web/js/services/integration.js
create mode 100644 frontend/web/js/services/segmnt.js
create mode 100644 frontend/web/js/services/seo.js
create mode 100644 frontend/web/js/services/serm.js
create mode 100644 frontend/web/js/services/smm.js
create mode 100644 frontend/web/js/services/usability.js
create mode 100644 frontend/web/js/services/webcreat.js
create mode 100644 frontend/web/js/team.js
create mode 100644 frontend/web/js/teamitem/1.js
create mode 100644 frontend/web/js/teamitem/highcharts.js
create mode 100644 frontend/web/js/teamitem/jquery-1.11.2.min (1).js
create mode 100644 frontend/web/js/teamitem/jquery-1.11.2.min.js
create mode 100644 frontend/web/js/teamitem/jquery-1.6.2.min.js
create mode 100644 frontend/web/js/teamitem/jquery-ui.min.js
create mode 100644 frontend/web/js/teamitem/jquery.animate-shadow-min.js
create mode 100644 frontend/web/js/teamitem/jquery.animate-shadow.js
create mode 100644 frontend/web/js/teamitem/jquery.rating-2.0.min.js
create mode 100644 frontend/web/js/teamitem/rating.js
create mode 100644 frontend/web/js/uniform/default/css/uniform.default.css
create mode 100644 frontend/web/js/uniform/default/css/uniform.default.min.css
create mode 100644 frontend/web/js/uniform/default/css/uniform.default.scss
create mode 100644 frontend/web/js/uniform/default/images/bg-input-focus.png
create mode 100644 frontend/web/js/uniform/default/images/bg-input.png
create mode 100644 frontend/web/js/uniform/default/images/sprite.png
create mode 100644 frontend/web/js/uniform/jquery.uniform.min.js
create mode 100644 frontend/web/js/vacancies.js
create mode 100644 frontend/web/js/vacancies2.js
create mode 100644 frontend/web/js/validate/jquery.validate.min.js
create mode 100644 frontend/web/js/validate/messages_ru.js
create mode 100644 frontend/web/robots.txt
create mode 100755 init
create mode 100644 init.bat
create mode 100644 requirements.php
create mode 100644 tests/README.md
create mode 100644 tests/codeception.yml
create mode 100644 tests/codeception/_output/.gitignore
create mode 100644 tests/codeception/backend/.gitignore
create mode 100644 tests/codeception/backend/_bootstrap.php
create mode 100644 tests/codeception/backend/_output/.gitignore
create mode 100644 tests/codeception/backend/acceptance.suite.yml
create mode 100644 tests/codeception/backend/acceptance/LoginCept.php
create mode 100644 tests/codeception/backend/acceptance/_bootstrap.php
create mode 100644 tests/codeception/backend/codeception.yml
create mode 100644 tests/codeception/backend/functional.suite.yml
create mode 100644 tests/codeception/backend/functional/LoginCept.php
create mode 100644 tests/codeception/backend/functional/_bootstrap.php
create mode 100644 tests/codeception/backend/unit.suite.yml
create mode 100644 tests/codeception/backend/unit/DbTestCase.php
create mode 100644 tests/codeception/backend/unit/TestCase.php
create mode 100644 tests/codeception/backend/unit/_bootstrap.php
create mode 100644 tests/codeception/backend/unit/fixtures/data/.gitkeep
create mode 100644 tests/codeception/bin/_bootstrap.php
create mode 100755 tests/codeception/bin/yii
create mode 100644 tests/codeception/bin/yii.bat
create mode 100644 tests/codeception/common/.gitignore
create mode 100644 tests/codeception/common/_bootstrap.php
create mode 100644 tests/codeception/common/_output/.gitignore
create mode 100644 tests/codeception/common/_pages/LoginPage.php
create mode 100644 tests/codeception/common/_support/FixtureHelper.php
create mode 100644 tests/codeception/common/codeception.yml
create mode 100644 tests/codeception/common/fixtures/UserFixture.php
create mode 100644 tests/codeception/common/fixtures/data/init_login.php
create mode 100644 tests/codeception/common/templates/fixtures/user.php
create mode 100644 tests/codeception/common/unit.suite.yml
create mode 100644 tests/codeception/common/unit/DbTestCase.php
create mode 100644 tests/codeception/common/unit/TestCase.php
create mode 100644 tests/codeception/common/unit/_bootstrap.php
create mode 100644 tests/codeception/common/unit/fixtures/data/models/user.php
create mode 100644 tests/codeception/common/unit/models/LoginFormTest.php
create mode 100644 tests/codeception/config/acceptance.php
create mode 100644 tests/codeception/config/backend/acceptance.php
create mode 100644 tests/codeception/config/backend/config.php
create mode 100644 tests/codeception/config/backend/functional.php
create mode 100644 tests/codeception/config/backend/unit.php
create mode 100644 tests/codeception/config/common/unit.php
create mode 100644 tests/codeception/config/config.php
create mode 100644 tests/codeception/config/console/unit.php
create mode 100644 tests/codeception/config/frontend/acceptance.php
create mode 100644 tests/codeception/config/frontend/config.php
create mode 100644 tests/codeception/config/frontend/functional.php
create mode 100644 tests/codeception/config/frontend/unit.php
create mode 100644 tests/codeception/config/functional.php
create mode 100644 tests/codeception/config/unit.php
create mode 100644 tests/codeception/console/.gitignore
create mode 100644 tests/codeception/console/_bootstrap.php
create mode 100644 tests/codeception/console/_output/.gitignore
create mode 100644 tests/codeception/console/codeception.yml
create mode 100644 tests/codeception/console/unit.suite.yml
create mode 100644 tests/codeception/console/unit/DbTestCase.php
create mode 100644 tests/codeception/console/unit/TestCase.php
create mode 100644 tests/codeception/console/unit/_bootstrap.php
create mode 100644 tests/codeception/console/unit/fixtures/data/.gitkeep
create mode 100644 tests/codeception/frontend/.gitignore
create mode 100644 tests/codeception/frontend/_bootstrap.php
create mode 100644 tests/codeception/frontend/_output/.gitignore
create mode 100644 tests/codeception/frontend/_pages/AboutPage.php
create mode 100644 tests/codeception/frontend/_pages/ContactPage.php
create mode 100644 tests/codeception/frontend/_pages/SignupPage.php
create mode 100644 tests/codeception/frontend/acceptance.suite.yml
create mode 100644 tests/codeception/frontend/acceptance/AboutCept.php
create mode 100644 tests/codeception/frontend/acceptance/ContactCept.php
create mode 100644 tests/codeception/frontend/acceptance/HomeCept.php
create mode 100644 tests/codeception/frontend/acceptance/LoginCept.php
create mode 100644 tests/codeception/frontend/acceptance/SignupCest.php
create mode 100644 tests/codeception/frontend/acceptance/_bootstrap.php
create mode 100644 tests/codeception/frontend/codeception.yml
create mode 100644 tests/codeception/frontend/functional.suite.yml
create mode 100644 tests/codeception/frontend/functional/AboutCept.php
create mode 100644 tests/codeception/frontend/functional/ContactCept.php
create mode 100644 tests/codeception/frontend/functional/HomeCept.php
create mode 100644 tests/codeception/frontend/functional/LoginCept.php
create mode 100644 tests/codeception/frontend/functional/SignupCest.php
create mode 100644 tests/codeception/frontend/functional/_bootstrap.php
create mode 100644 tests/codeception/frontend/unit.suite.yml
create mode 100644 tests/codeception/frontend/unit/DbTestCase.php
create mode 100644 tests/codeception/frontend/unit/TestCase.php
create mode 100644 tests/codeception/frontend/unit/_bootstrap.php
create mode 100644 tests/codeception/frontend/unit/fixtures/data/models/user.php
create mode 100644 tests/codeception/frontend/unit/models/ContactFormTest.php
create mode 100644 tests/codeception/frontend/unit/models/PasswordResetRequestFormTest.php
create mode 100644 tests/codeception/frontend/unit/models/ResetPasswordFormTest.php
create mode 100644 tests/codeception/frontend/unit/models/SignupFormTest.php
diff --git a/.bowerrc b/.bowerrc
new file mode 100644
index 0000000..1669168
--- /dev/null
+++ b/.bowerrc
@@ -0,0 +1,3 @@
+{
+ "directory" : "vendor/bower"
+}
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..7705d6e
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,32 @@
+# yii console command
+/yii
+
+# phpstorm project files
+.idea
+
+# netbeans project files
+nbproject
+
+# zend studio for eclipse project files
+.buildpath
+.project
+.settings
+
+# windows thumbnail cache
+Thumbs.db
+
+# composer vendor dir
+/vendor
+
+# composer itself is not needed
+composer.phar
+
+# Mac DS_Store Files
+.DS_Store
+
+# phpunit itself is not needed
+phpunit.phar
+# local phpunit config
+/phpunit.xml
+
+/old
\ No newline at end of file
diff --git a/.htaccess b/.htaccess
new file mode 100644
index 0000000..3f9e710
--- /dev/null
+++ b/.htaccess
@@ -0,0 +1,35 @@
+
+ Options +FollowSymlinks
+ RewriteEngine On
+
+
+
+ RewriteBase /
+
+ RewriteRule ^storage/(.*)?$ /storage/$1 [L,PT]
+
+ RewriteCond %{REQUEST_URI} ^/(admin)
+ RewriteRule ^admin/assets/(.*)$ backend/web/assets/$1 [L]
+ RewriteRule ^admin/css/(.*)$ backend/web/css/$1 [L]
+ RewriteRule ^admin/js/(.*)$ backend/web/js/$1 [L]
+ RewriteRule ^admin/images/(.*)$ backend/web/images/$1 [L]
+ RewriteRule ^admin/fonts/(.*)$ backend/web/fonts/$1 [L]
+
+ RewriteCond %{REQUEST_URI} !^/backend/web/(assets|css|js|images)/
+ RewriteCond %{REQUEST_URI} ^/(admin)
+ RewriteRule ^.*$ backend/web/index.php [L]
+
+ RewriteCond %{REQUEST_URI} ^/(assets|css)
+ RewriteRule ^assets/(.*)$ frontend/web/assets/$1 [L]
+ RewriteRule ^css/(.*)$ frontend/web/css/$1 [L]
+ RewriteRule ^js/(.*)$ frontend/web/js/$1 [L]
+ RewriteRule ^images/(.*)$ frontend/web/images/$1 [L]
+ RewriteRule ^files/(.*)$ frontend/web/files/$1 [L]
+ RewriteRule ^count_form/(.*)$ frontend/web/count_form/$1 [L]
+
+ RewriteCond %{REQUEST_URI} !^/(frontend|backend)/web/(assets|css|js|images|files|count_form)/
+ RewriteCond %{REQUEST_URI} !index.php
+ RewriteCond %{REQUEST_FILENAME} !-f [OR]
+ RewriteCond %{REQUEST_FILENAME} !-d
+ RewriteRule ^.*$ frontend/web/index.php
+
\ No newline at end of file
diff --git a/LICENSE.md b/LICENSE.md
new file mode 100644
index 0000000..e98f03d
--- /dev/null
+++ b/LICENSE.md
@@ -0,0 +1,32 @@
+The Yii framework is free software. It is released under the terms of
+the following BSD License.
+
+Copyright © 2008 by Yii Software LLC (http://www.yiisoft.com)
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+
+ * Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in
+ the documentation and/or other materials provided with the
+ distribution.
+ * Neither the name of Yii Software LLC nor the names of its
+ contributors may be used to endorse or promote products derived
+ from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
+ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE.
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..45e56ad
--- /dev/null
+++ b/README.md
@@ -0,0 +1,54 @@
+Yii 2 Advanced Project Template
+===============================
+
+Yii 2 Advanced Project Template is a skeleton [Yii 2](http://www.yiiframework.com/) application best for
+developing complex Web applications with multiple tiers.
+
+The template includes three tiers: front end, back end, and console, each of which
+is a separate Yii application.
+
+The template is designed to work in a team development environment. It supports
+deploying the application in different environments.
+
+Documentation is at [docs/guide/README.md](docs/guide/README.md).
+
+[](https://packagist.org/packages/yiisoft/yii2-app-advanced)
+[](https://packagist.org/packages/yiisoft/yii2-app-advanced)
+[](https://travis-ci.org/yiisoft/yii2-app-advanced)
+
+DIRECTORY STRUCTURE
+-------------------
+
+```
+common
+ config/ contains shared configurations
+ mail/ contains view files for e-mails
+ models/ contains model classes used in both backend and frontend
+console
+ config/ contains console configurations
+ controllers/ contains console controllers (commands)
+ migrations/ contains database migrations
+ models/ contains console-specific model classes
+ runtime/ contains files generated during runtime
+backend
+ assets/ contains application assets such as JavaScript and CSS
+ config/ contains backend configurations
+ controllers/ contains Web controller classes
+ models/ contains backend-specific model classes
+ runtime/ contains files generated during runtime
+ views/ contains view files for the Web application
+ web/ contains the entry script and Web resources
+frontend
+ assets/ contains application assets such as JavaScript and CSS
+ config/ contains frontend configurations
+ controllers/ contains Web controller classes
+ models/ contains frontend-specific model classes
+ runtime/ contains files generated during runtime
+ views/ contains view files for the Web application
+ web/ contains the entry script and Web resources
+ widgets/ contains frontend widgets
+vendor/ contains dependent 3rd-party packages
+environments/ contains environment-based overrides
+tests contains various tests for the advanced application
+ codeception/ contains tests developed with Codeception PHP Testing Framework
+```
diff --git a/backend/assets/AppAsset.php b/backend/assets/AppAsset.php
new file mode 100644
index 0000000..c262142
--- /dev/null
+++ b/backend/assets/AppAsset.php
@@ -0,0 +1,29 @@
+
+ * @since 2.0
+ */
+class AppAsset extends AssetBundle
+{
+ public $basePath = '@webroot';
+ public $baseUrl = '@web';
+ public $css = [
+ 'css/site.css',
+ ];
+ public $js = [
+ ];
+ public $depends = [
+ 'yii\web\YiiAsset',
+ 'yii\bootstrap\BootstrapAsset',
+ ];
+}
diff --git a/backend/config/.gitignore b/backend/config/.gitignore
new file mode 100644
index 0000000..20da318
--- /dev/null
+++ b/backend/config/.gitignore
@@ -0,0 +1,2 @@
+main-local.php
+params-local.php
\ No newline at end of file
diff --git a/backend/config/bootstrap.php b/backend/config/bootstrap.php
new file mode 100644
index 0000000..b3d9bbc
--- /dev/null
+++ b/backend/config/bootstrap.php
@@ -0,0 +1 @@
+ 'app-backend',
+ 'basePath' => dirname(__DIR__),
+ 'controllerNamespace' => 'backend\controllers',
+ 'bootstrap' => ['log'],
+ 'modules' => [],
+ 'components' => [
+ 'user' => [
+ 'identityClass' => 'common\models\User',
+ 'enableAutoLogin' => true,
+ ],
+ 'log' => [
+ 'traceLevel' => YII_DEBUG ? 3 : 0,
+ 'targets' => [
+ [
+ 'class' => 'yii\log\FileTarget',
+ 'levels' => ['error', 'warning'],
+ ],
+ ],
+ ],
+ 'errorHandler' => [
+ 'errorAction' => 'site/error',
+ ],
+ 'request'=>[
+ 'class' => 'common\components\Request',
+ 'web'=> '/backend/web',
+ 'adminUrl' => '/admin'
+ ],
+ 'urlManagerFrontEnd' => [
+ 'class' => 'yii\web\urlManager',
+ 'baseUrl' => '/',
+ 'web' => '/frontend/web',
+ 'enablePrettyUrl' => true,
+ 'showScriptName' => false,
+ ],
+ 'view' => [
+ 'theme' => [
+ 'pathMap' => [
+ '@app/views' => '@app/views/adminlte'
+ ],
+ ],
+ ],
+ ],
+ 'params' => $params,
+ 'language' => 'ru-RU',
+];
diff --git a/backend/config/params.php b/backend/config/params.php
new file mode 100644
index 0000000..7f754b9
--- /dev/null
+++ b/backend/config/params.php
@@ -0,0 +1,4 @@
+ 'admin@example.com',
+];
diff --git a/backend/controllers/ClientsController.php b/backend/controllers/ClientsController.php
new file mode 100755
index 0000000..17af20e
--- /dev/null
+++ b/backend/controllers/ClientsController.php
@@ -0,0 +1,151 @@
+ [
+ 'class' => VerbFilter::className(),
+ 'actions' => [
+ 'delete' => ['post'],
+ ],
+ ],
+ ];
+ }
+
+ /**
+ * Lists all Clients models.
+ * @return mixed
+ */
+ public function actionIndex()
+ {
+ $searchModel = new ClientsSearch();
+ $dataProvider = $searchModel->search(Yii::$app->request->queryParams);
+
+ return $this->render('index', [
+ 'searchModel' => $searchModel,
+ 'dataProvider' => $dataProvider,
+ ]);
+ }
+
+ /**
+ * Displays a single Clients model.
+ * @param integer $id
+ * @return mixed
+ */
+ public function actionView($id)
+ {
+ $model = $this->findModel($id);
+ $model->logo = Html::img('/'. $model->logo);
+ return $this->render('view', [
+ 'model' => $model,
+ ]);
+ }
+
+ /**
+ * Creates a new Clients model.
+ * If creation is successful, the browser will be redirected to the 'view' page.
+ * @return mixed
+ */
+ public function actionCreate()
+ {
+ $model = new Clients();
+
+ if ($model->load(Yii::$app->request->post()) && $model->save()) {
+ $this->_uploadLogo($model);
+ return $this->redirect(['view', 'id' => $model->id]);
+ } else {
+ return $this->render('create', [
+ 'model' => $model,
+ ]);
+ }
+ }
+
+ /**
+ * Updates an existing Clients model.
+ * If update is successful, the browser will be redirected to the 'view' page.
+ * @param integer $id
+ * @return mixed
+ */
+ public function actionUpdate($id)
+ {
+ $model = $this->findModel($id);
+
+ if ($model->load(Yii::$app->request->post()) && $model->save()) {
+ $this->_uploadLogo($model);
+ return $this->redirect(['view', 'id' => $model->id]);
+ } else {
+ return $this->render('update', [
+ 'model' => $model,
+ ]);
+ }
+ }
+
+ private function _uploadLogo($model) {
+ $file = UploadedFile::getInstance($model, 'file');
+ if (!empty($file)) {
+ $model->file = $file;
+ $fileName = 'clients/' . $model->file->basename . '.' . $model->file->extension;
+ $filePath = Yii::getAlias( '@filesDir' ) .'/'. $fileName;
+ $i = 1;
+ while (file_exists($filePath)) {
+ $fileName = 'clients/' . $model->file->basename .'_'. $i . '.' . $model->file->extension;
+ $filePath = Yii::getAlias( '@filesDir' ) .'/'. $fileName;
+ $i++;
+ }
+ $model->file->saveAs( $filePath );
+ $model->logo = $fileName;
+ } else {
+// $model->logo = null;
+ }
+ $model->save();
+ }
+
+ /**
+ * Deletes an existing Clients model.
+ * If deletion is successful, the browser will be redirected to the 'index' page.
+ * @param integer $id
+ * @return mixed
+ */
+ public function actionDelete($id)
+ {
+ $this->findModel($id)->delete();
+
+ return $this->redirect(['index']);
+ }
+
+ /**
+ * Finds the Clients model based on its primary key value.
+ * If the model is not found, a 404 HTTP exception will be thrown.
+ * @param integer $id
+ * @return Clients the loaded model
+ * @throws NotFoundHttpException if the model cannot be found
+ */
+ protected function findModel($id)
+ {
+ if (($model = Clients::findOne($id)) !== null) {
+ return $model;
+ } else {
+ throw new NotFoundHttpException('The requested page does not exist.');
+ }
+ }
+}
diff --git a/backend/controllers/DepartmentsController.php b/backend/controllers/DepartmentsController.php
new file mode 100755
index 0000000..e466270
--- /dev/null
+++ b/backend/controllers/DepartmentsController.php
@@ -0,0 +1,121 @@
+ [
+ 'class' => VerbFilter::className(),
+ 'actions' => [
+ 'delete' => ['post'],
+ ],
+ ],
+ ];
+ }
+
+ /**
+ * Lists all Departments models.
+ * @return mixed
+ */
+ public function actionIndex()
+ {
+ $searchModel = new DepartmentsSearch();
+ $dataProvider = $searchModel->search(Yii::$app->request->queryParams);
+
+ return $this->render('index', [
+ 'searchModel' => $searchModel,
+ 'dataProvider' => $dataProvider,
+ ]);
+ }
+
+ /**
+ * Displays a single Departments model.
+ * @param integer $id
+ * @return mixed
+ */
+ public function actionView($id)
+ {
+ return $this->render('view', [
+ 'model' => $this->findModel($id),
+ ]);
+ }
+
+ /**
+ * Creates a new Departments model.
+ * If creation is successful, the browser will be redirected to the 'view' page.
+ * @return mixed
+ */
+ public function actionCreate()
+ {
+ $model = new Departments();
+
+ if ($model->load(Yii::$app->request->post()) && $model->save()) {
+ return $this->redirect(['view', 'id' => $model->id]);
+ } else {
+ return $this->render('create', [
+ 'model' => $model,
+ ]);
+ }
+ }
+
+ /**
+ * Updates an existing Departments model.
+ * If update is successful, the browser will be redirected to the 'view' page.
+ * @param integer $id
+ * @return mixed
+ */
+ public function actionUpdate($id)
+ {
+ $model = $this->findModel($id);
+
+ if ($model->load(Yii::$app->request->post()) && $model->save()) {
+ return $this->redirect(['view', 'id' => $model->id]);
+ } else {
+ return $this->render('update', [
+ 'model' => $model,
+ ]);
+ }
+ }
+
+ /**
+ * Deletes an existing Departments model.
+ * If deletion is successful, the browser will be redirected to the 'index' page.
+ * @param integer $id
+ * @return mixed
+ */
+ public function actionDelete($id)
+ {
+ $this->findModel($id)->delete();
+
+ return $this->redirect(['index']);
+ }
+
+ /**
+ * Finds the Departments model based on its primary key value.
+ * If the model is not found, a 404 HTTP exception will be thrown.
+ * @param integer $id
+ * @return Departments the loaded model
+ * @throws NotFoundHttpException if the model cannot be found
+ */
+ protected function findModel($id)
+ {
+ if (($model = Departments::findOne($id)) !== null) {
+ return $model;
+ } else {
+ throw new NotFoundHttpException('The requested page does not exist.');
+ }
+ }
+}
diff --git a/backend/controllers/SiteController.php b/backend/controllers/SiteController.php
new file mode 100755
index 0000000..db3259a
--- /dev/null
+++ b/backend/controllers/SiteController.php
@@ -0,0 +1,83 @@
+ [
+ 'class' => AccessControl::className(),
+ 'rules' => [
+ [
+ 'actions' => ['login', 'error'],
+ 'allow' => true,
+ ],
+ [
+ 'actions' => ['logout', 'index'],
+ 'allow' => true,
+ 'roles' => ['@'],
+ ],
+ ],
+ ],
+ 'verbs' => [
+ 'class' => VerbFilter::className(),
+ 'actions' => [
+ 'logout' => ['post'],
+ ],
+ ],
+ ];
+ }
+
+ /**
+ * @inheritdoc
+ */
+ public function actions()
+ {
+ return [
+ 'error' => [
+ 'class' => 'yii\web\ErrorAction',
+ ],
+ ];
+ }
+
+ public function actionIndex()
+ {
+ return $this->render('index');
+ }
+
+ public function actionLogin()
+ {
+ if (!\Yii::$app->user->isGuest) {
+ return $this->goHome();
+ }
+
+ $model = new LoginForm();
+ if ($model->load(Yii::$app->request->post()) && $model->login()) {
+ return $this->goBack();
+ } else {
+ return $this->render('login', [
+ 'model' => $model,
+ ]);
+ }
+ }
+
+ public function actionLogout()
+ {
+ Yii::$app->user->logout();
+
+ return $this->goHome();
+ }
+}
diff --git a/backend/controllers/TeamController.php b/backend/controllers/TeamController.php
new file mode 100644
index 0000000..f78523e
--- /dev/null
+++ b/backend/controllers/TeamController.php
@@ -0,0 +1,302 @@
+ [
+ 'class' => VerbFilter::className(),
+ 'actions' => [
+ 'delete' => ['post'],
+ ],
+ ],
+ ];
+ }
+
+ /**
+ * Lists all Team models.
+ * @return mixed
+ */
+ public function actionIndex()
+ {
+ $searchModel = new TeamSearch();
+ $dataProvider = $searchModel->search(Yii::$app->request->queryParams);
+
+ return $this->render('index', [
+ 'searchModel' => $searchModel,
+ 'dataProvider' => $dataProvider,
+ ]);
+ }
+
+ /**
+ * Displays a single Team model.
+ * @param integer $id
+ * @return mixed
+ */
+ public function actionView($id)
+ {
+ return $this->render('view', [
+ 'model' => $this->findModel($id),
+ ]);
+ }
+
+ /**
+ * Creates a new Team model.
+ * If creation is successful, the browser will be redirected to the 'view' page.
+ * @return mixed
+ */
+ public function actionCreate()
+ {
+ $model = new Team();
+
+ if ($model->load(Yii::$app->request->post()) && $model->save()) {
+ $this->_uploadFile($model, 'file', 'photo', 'team');
+ $this->_uploadFile($model, 'file2', 'photo_big', 'team/big');
+ return $this->redirect(['view', 'id' => $model->id]);
+ } else {
+ return $this->render('create', [
+ 'model' => $model,
+ ]);
+ }
+ }
+
+ /**
+ * Updates an existing Team model.
+ * If update is successful, the browser will be redirected to the 'view' page.
+ * @param integer $id
+ * @return mixed
+ */
+ public function actionUpdate($id)
+ {
+ $model = $this->findModel($id);
+
+ // Get skills
+ $skills = TeamSkils::find()->where(['team_id' => $id])->indexBy('id')->all();
+ if (empty($skills)) {
+ $skills[] = new TeamSkils(['scenario' => 'multiFields']);
+ } else {
+ foreach ($skills as &$skill) {
+ $skill->scenario = 'multiFields';
+ }
+ }
+
+ // Get books
+ $books = TeamBooks::find()->where(['team_id' => $id])->indexBy('id')->all();
+ if (empty($books)) {
+ $books[] = new TeamBooks(['scenario' => 'multiFields']);
+ } else {
+ foreach ($books as &$book) {
+ $book->scenario = 'multiFields';
+ }
+ }
+
+
+ if ($model->load(Yii::$app->request->post()) && $model->save()) {
+ $this->_uploadFile($model, 'file', 'photo', 'team');
+ $this->_uploadFile($model, 'file2', 'photo_big', 'team/big');
+
+ $this->_updateSkills($model, Yii::$app->request->post('TeamSkils'), $skills);
+ $this->_updateBooks($model, Yii::$app->request->post('TeamBooks'), $books);
+
+ return $this->redirect(['view', 'id' => $model->id]);
+ } else {
+ return $this->render('update', [
+ 'model' => $model,
+ 'skills' => $skills,
+ 'books' => $books,
+ ]);
+ }
+ }
+
+ private function _updateSkills($model, $post = [], $exists = []) {
+ $exists_ids = [];
+ foreach ( $exists as $row ) {
+ if ($row->id > 0)
+ $exists_ids[$row->id] = $row->id;
+ }
+
+ foreach ($post as $id => $data) {
+ if ($id > 0 && in_array($id, $exists_ids)) {
+ unset($exists_ids[$id]);
+ // Exists row
+ $modelRow = TeamSkils::findOne($id);
+ if ($modelRow) {
+ $dataArray = [
+ 'TeamSkils' => [
+ 'title' => $data['title'],
+ 'value' => floatval(str_replace([',', ' '], ['.', ''], trim($data['value'])))
+ ]
+ ];
+ $modelRow->load( $dataArray );
+ $modelRow->save();
+ }
+ } else {
+ // New row
+ if (empty($data['title'])) continue;
+
+ $modelRow = new TeamSkils();
+ $dataArray = [
+ 'TeamSkils' => [
+ 'team_id' => $model->id,
+ 'title' => $data['title'],
+ 'value' => floatval(str_replace([',', ' '], ['.', ''], trim($data['value'])))
+ ]
+ ];
+
+ $modelRow->load( $dataArray );
+ $modelRow->save();
+ }
+ }
+
+ foreach ( $exists_ids as $id ) {
+ $this->findModel($id)->delete();
+ }
+ }
+
+ private function _updateBooks($model, $post = [], $exists = []) {
+ $exists_ids = [];
+ foreach ( $exists as $row ) {
+ if ($row->id > 0)
+ $exists_ids[$row->id] = $row->id;
+ }
+
+ foreach ($post as $id => $data) {
+ if ($id > 0 && in_array($id, $exists_ids)) {
+ unset($exists_ids[$id]);
+ // Exists row
+ $modelRow = TeamBooks::findOne($id);
+ if ($modelRow) {
+ $dataArray = [
+ 'TeamBooks' => [
+ 'title' => $data['title']
+ ]
+ ];
+ $modelRow->load( $dataArray );
+ $modelRow->save();
+
+ $files = UploadedFile::getInstances($model, $varnameFile);
+
+// $this->_uploadFiles($modelRow, 'TeamBooks[1]', 'cover', 'team/books');
+ }
+ } else {
+ // New row
+ if (empty($data['title'])) continue;
+
+ $modelRow = new TeamBooks();
+ $dataArray = [
+ 'TeamBooks' => [
+ 'team_id' => $model->id,
+ 'title' => $data['title'],
+ 'cover' => ''
+ ]
+ ];
+
+ $modelRow->load( $dataArray );
+ $modelRow->save();
+
+ $this->_uploadFiles($modelRow, 'TeamBooks', 'cover', 'team/books');
+ }
+ }
+
+ foreach ( $exists_ids as $id ) {
+ $this->findModel($id)->delete();
+ }
+ }
+
+ private function _uploadFile($model, $varnameFile, $varnameField, $dir = 'team') {
+ $file = UploadedFile::getInstance($model, $varnameFile);
+
+ if (!empty($file)) {
+ $fileName = $dir .'/' . $file->basename . '.' . $file->extension;
+ $filePath = Yii::getAlias( '@filesDir' ) .'/'. $fileName;
+ $i = 1;
+ while (file_exists($filePath)) {
+ $fileName = $dir. '/' . $file->basename .'_'. $i . '.' . $file->extension;
+ $filePath = Yii::getAlias( '@filesDir' ) .'/'. $fileName;
+ $i++;
+ }
+ $file->saveAs( $filePath );
+ $model->{$varnameField} = $fileName;
+ $model->save();
+ }
+ }
+
+ private function _uploadFiles($model, $varnameFile, $varnameField, $dir = 'team') {
+ $file = UploadedFile::getInstances($model, $varnameFile);
+
+ if (!empty($file)) {
+ $fileName = $dir .'/' . $file->basename . '.' . $file->extension;
+ $filePath = Yii::getAlias( '@filesDir' ) .'/'. $fileName;
+ $i = 1;
+ while (file_exists($filePath)) {
+ $fileName = $dir. '/' . $file->basename .'_'. $i . '.' . $file->extension;
+ $filePath = Yii::getAlias( '@filesDir' ) .'/'. $fileName;
+ $i++;
+ }
+ $file->saveAs( $filePath );
+ $model->{$varnameField} = $fileName;
+ $model->save();
+ }
+ }
+
+ /**
+ * Deletes an existing Team model.
+ * If deletion is successful, the browser will be redirected to the 'index' page.
+ * @param integer $id
+ * @return mixed
+ */
+ public function actionDelete($id)
+ {
+ $this->findModel($id)->delete();
+
+ return $this->redirect(['index']);
+ }
+
+ public function actionDeleteSkill()
+ {
+ $id = Yii::$app->request->post('id');
+ $model = TeamSkils::findOne($id);
+ if ($model !== null) {
+ $model->delete();
+ }
+ Yii::$app->response->format = Response::FORMAT_JSON;
+ return ['r' => 1];
+ }
+
+ /**
+ * Finds the Team model based on its primary key value.
+ * If the model is not found, a 404 HTTP exception will be thrown.
+ * @param integer $id
+ * @return Team the loaded model
+ * @throws NotFoundHttpException if the model cannot be found
+ */
+ protected function findModel($id)
+ {
+ if (($model = Team::findOne($id)) !== null) {
+ return $model;
+ } else {
+ throw new NotFoundHttpException('The requested page does not exist.');
+ }
+ }
+}
diff --git a/backend/controllers/TeamSkilsController.php b/backend/controllers/TeamSkilsController.php
new file mode 100644
index 0000000..e0ecc0f
--- /dev/null
+++ b/backend/controllers/TeamSkilsController.php
@@ -0,0 +1,121 @@
+ [
+ 'class' => VerbFilter::className(),
+ 'actions' => [
+ 'delete' => ['post'],
+ ],
+ ],
+ ];
+ }
+
+ /**
+ * Lists all TeamSkils models.
+ * @return mixed
+ */
+ public function actionIndex()
+ {
+ $dataProvider = new ActiveDataProvider([
+ 'query' => TeamSkils::find(),
+ ]);
+
+ return $this->render('index', [
+ 'dataProvider' => $dataProvider,
+ ]);
+ }
+
+ /**
+ * Displays a single TeamSkils model.
+ * @param integer $id
+ * @return mixed
+ */
+ public function actionView($id)
+ {
+ return $this->render('view', [
+ 'model' => $this->findModel($id),
+ ]);
+ }
+
+ /**
+ * Creates a new TeamSkils model.
+ * If creation is successful, the browser will be redirected to the 'view' page.
+ * @return mixed
+ */
+ public function actionCreate()
+ {
+ $model = new TeamSkils();
+
+ if ($model->load(Yii::$app->request->post()) && $model->save()) {
+ return $this->redirect(['view', 'id' => $model->id]);
+ } else {
+ return $this->render('create', [
+ 'model' => $model,
+ ]);
+ }
+ }
+
+ /**
+ * Updates an existing TeamSkils model.
+ * If update is successful, the browser will be redirected to the 'view' page.
+ * @param integer $id
+ * @return mixed
+ */
+ public function actionUpdate($id)
+ {
+ $model = $this->findModel($id);
+
+ if ($model->load(Yii::$app->request->post()) && $model->save()) {
+ return $this->redirect(['view', 'id' => $model->id]);
+ } else {
+ return $this->render('update', [
+ 'model' => $model,
+ ]);
+ }
+ }
+
+ /**
+ * Deletes an existing TeamSkils model.
+ * If deletion is successful, the browser will be redirected to the 'index' page.
+ * @param integer $id
+ * @return mixed
+ */
+ public function actionDelete($id)
+ {
+ $this->findModel($id)->delete();
+
+ return $this->redirect(['index']);
+ }
+
+ /**
+ * Finds the TeamSkils model based on its primary key value.
+ * If the model is not found, a 404 HTTP exception will be thrown.
+ * @param integer $id
+ * @return TeamSkils the loaded model
+ * @throws NotFoundHttpException if the model cannot be found
+ */
+ protected function findModel($id)
+ {
+ if (($model = TeamSkils::findOne($id)) !== null) {
+ return $model;
+ } else {
+ throw new NotFoundHttpException('The requested page does not exist.');
+ }
+ }
+}
diff --git a/backend/models/.gitkeep b/backend/models/.gitkeep
new file mode 100755
index 0000000..72e8ffc
--- /dev/null
+++ b/backend/models/.gitkeep
@@ -0,0 +1 @@
+*
diff --git a/backend/models/Clients.php b/backend/models/Clients.php
new file mode 100755
index 0000000..1e43d94
--- /dev/null
+++ b/backend/models/Clients.php
@@ -0,0 +1,59 @@
+ 200],
+ [['file'], 'file'],
+ [['logo'], 'string', 'max' => 255],
+ [['link'], 'string', 'max' => 255]
+ ];
+ }
+
+ /**
+ * @inheritdoc
+ */
+ public function attributeLabels()
+ {
+ return [
+ 'id' => Yii::t('app', 'ID'),
+ 'title' => Yii::t('app', 'Title'),
+ 'description' => Yii::t('app', 'Description'),
+ 'file' => Yii::t('app', 'Logo'),
+ 'link' => Yii::t('app', 'Link'),
+ 'visible' => Yii::t('app', 'Status'),
+// 'position' => Yii::t('app', 'Position'),
+ ];
+ }
+}
diff --git a/backend/models/ClientsSearch.php b/backend/models/ClientsSearch.php
new file mode 100755
index 0000000..8d59062
--- /dev/null
+++ b/backend/models/ClientsSearch.php
@@ -0,0 +1,70 @@
+ $query,
+ ]);
+
+ $this->load($params);
+
+ if (!$this->validate()) {
+ // uncomment the following line if you do not want to return any records when validation fails
+ // $query->where('0=1');
+ return $dataProvider;
+ }
+
+ $query->andFilterWhere([
+ 'id' => $this->id,
+ 'visible' => $this->visible,
+ 'position' => $this->position,
+ ]);
+
+ $query->andFilterWhere(['like', 'title', $this->title])
+ ->andFilterWhere(['like', 'description', $this->description])
+ ->andFilterWhere(['like', 'link', $this->link]);
+
+ return $dataProvider;
+ }
+}
diff --git a/backend/models/Departments.php b/backend/models/Departments.php
new file mode 100755
index 0000000..07f7543
--- /dev/null
+++ b/backend/models/Departments.php
@@ -0,0 +1,60 @@
+ 150]
+ ];
+ }
+
+ /**
+ * @inheritdoc
+ */
+ public function attributeLabels()
+ {
+ return [
+ 'id' => Yii::t('app', 'ID'),
+ 'title' => Yii::t('app', 'Title'),
+ 'description' => Yii::t('app', 'Description'),
+ 'visible' => Yii::t('app', 'Visible'),
+ ];
+ }
+
+ /**
+ * @return \yii\db\ActiveQuery
+ */
+ public function getTeams()
+ {
+ return $this->hasMany(Team::className(), ['department_id' => 'id']);
+ }
+}
diff --git a/backend/models/DepartmentsSearch.php b/backend/models/DepartmentsSearch.php
new file mode 100755
index 0000000..4d265a8
--- /dev/null
+++ b/backend/models/DepartmentsSearch.php
@@ -0,0 +1,68 @@
+ $query,
+ ]);
+
+ $this->load($params);
+
+ if (!$this->validate()) {
+ // uncomment the following line if you do not want to return any records when validation fails
+ // $query->where('0=1');
+ return $dataProvider;
+ }
+
+ $query->andFilterWhere([
+ 'id' => $this->id,
+ 'visible' => $this->visible,
+ ]);
+
+ $query->andFilterWhere(['like', 'title', $this->title])
+ ->andFilterWhere(['like', 'description', $this->description]);
+
+ return $dataProvider;
+ }
+}
diff --git a/backend/models/Team.php b/backend/models/Team.php
new file mode 100644
index 0000000..f53fda7
--- /dev/null
+++ b/backend/models/Team.php
@@ -0,0 +1,144 @@
+ 150],
+ [['file', 'file2'], 'file'],
+ [['email', 'soc_vk', 'soc_fb', 'soc_tw', 'soc_li'], 'string', 'max' => 255]
+ ];
+ }
+
+ /**
+ * @inheritdoc
+ */
+ public function attributeLabels()
+ {
+ return [
+ 'id' => Yii::t('app', 'ID'),
+ 'department_id' => Yii::t('app', 'Department ID'),
+ 'user_id' => Yii::t('app', 'User ID'),
+ 'name' => Yii::t('app', 'Name'),
+ 'name2' => Yii::t('app', 'Name2'),
+ 'email' => Yii::t('app', 'Email'),
+ 'job' => Yii::t('app', 'Job'),
+ 'zodiac' => Yii::t('app', 'Zodiac'),
+ 'iq' => Yii::t('app', 'Iq'),
+ 'soc_vk' => Yii::t('app', 'Soc Vk'),
+ 'soc_fb' => Yii::t('app', 'Soc Fb'),
+ 'soc_tw' => Yii::t('app', 'Soc Tw'),
+ 'soc_li' => Yii::t('app', 'Soc Li'),
+ 'interests_caption' => Yii::t('app', 'Interests Caption'),
+ 'skils_caption' => Yii::t('app', 'Skils Caption'),
+ 'books_caption' => Yii::t('app', 'Books Caption'),
+ 'films_caption' => Yii::t('app', 'Films Caption'),
+ 'description' => Yii::t('app', 'Description'),
+ 'file' => Yii::t('app', 'Photo'),
+ 'file2' => Yii::t('app', 'Photo Big'),
+ 'visible' => Yii::t('app', 'Visible'),
+ ];
+ }
+
+ /**
+ * @return \yii\db\ActiveQuery
+ */
+ public function getDepartment()
+ {
+ return $this->hasOne(Departments::className(), ['id' => 'department_id']);
+ }
+
+ /**
+ * @return \yii\db\ActiveQuery
+ */
+ public function getTeamFilms()
+ {
+ return $this->hasMany(TeamFilms::className(), ['team_id' => 'id']);
+ }
+
+ /**
+ * @return \yii\db\ActiveQuery
+ */
+ public function getTeamHumors()
+ {
+ return $this->hasMany(TeamHumors::className(), ['team_id' => 'id']);
+ }
+
+ /**
+ * @return \yii\db\ActiveQuery
+ */
+ public function getTeamInterests()
+ {
+ return $this->hasMany(TeamInterests::className(), ['team_id' => 'id']);
+ }
+
+ /**
+ * @return \yii\db\ActiveQuery
+ */
+ public function getTeamSkils()
+ {
+ return $this->hasMany(TeamSkils::className(), ['team_id' => 'id']);
+ }
+
+ /**
+ * @return \yii\db\ActiveQuery
+ */
+// public function getUser()
+// {
+// return $this->hasMany(UserSkils::className(), ['user_id' => 'id']);
+// }
+}
diff --git a/backend/models/TeamBooks.php b/backend/models/TeamBooks.php
new file mode 100644
index 0000000..4ae27b3
--- /dev/null
+++ b/backend/models/TeamBooks.php
@@ -0,0 +1,52 @@
+ 120],
+ [['books_file'], 'file'],
+ [['cover'], 'string', 'max' => 255]
+ ];
+ }
+
+ /**
+ * @inheritdoc
+ */
+ public function attributeLabels()
+ {
+ return [
+ 'id' => Yii::t('app', 'ID'),
+ 'team_id' => Yii::t('app', 'Team ID'),
+ 'title' => Yii::t('app', 'Title'),
+ 'books_file' => Yii::t('app', 'Cover'),
+ ];
+ }
+}
diff --git a/backend/models/TeamSearch.php b/backend/models/TeamSearch.php
new file mode 100644
index 0000000..00e366b
--- /dev/null
+++ b/backend/models/TeamSearch.php
@@ -0,0 +1,85 @@
+ $query,
+ ]);
+
+ $this->load($params);
+
+ if (!$this->validate()) {
+ // uncomment the following line if you do not want to return any records when validation fails
+ // $query->where('0=1');
+ return $dataProvider;
+ }
+
+ $query->andFilterWhere([
+ 'id' => $this->id,
+ 'department_id' => $this->department_id,
+ 'user_id' => $this->user_id,
+ 'iq' => $this->iq,
+ 'visible' => $this->visible,
+ ]);
+
+ $query->andFilterWhere(['like', 'name', $this->name])
+ ->andFilterWhere(['like', 'name2', $this->name2])
+ ->andFilterWhere(['like', 'email', $this->email])
+ ->andFilterWhere(['like', 'job', $this->job])
+ ->andFilterWhere(['like', 'zodiac', $this->zodiac])
+ ->andFilterWhere(['like', 'soc_vk', $this->soc_vk])
+ ->andFilterWhere(['like', 'soc_fb', $this->soc_fb])
+ ->andFilterWhere(['like', 'soc_tw', $this->soc_tw])
+ ->andFilterWhere(['like', 'soc_li', $this->soc_li])
+ ->andFilterWhere(['like', 'interests_caption', $this->interests_caption])
+ ->andFilterWhere(['like', 'skils_caption', $this->skils_caption])
+ ->andFilterWhere(['like', 'books_caption', $this->books_caption])
+ ->andFilterWhere(['like', 'films_caption', $this->films_caption])
+ ->andFilterWhere(['like', 'description', $this->description])
+ ->andFilterWhere(['like', 'photo', $this->photo])
+ ->andFilterWhere(['like', 'photo_big', $this->photo_big]);
+
+ return $dataProvider;
+ }
+}
diff --git a/backend/models/TeamSkils.php b/backend/models/TeamSkils.php
new file mode 100644
index 0000000..3bf2d48
--- /dev/null
+++ b/backend/models/TeamSkils.php
@@ -0,0 +1,60 @@
+ 120]
+ ];
+ }
+
+ /**
+ * @inheritdoc
+ */
+ public function attributeLabels()
+ {
+ return [
+ 'id' => Yii::t('app', 'ID'),
+ 'team_id' => Yii::t('app', 'Team ID'),
+ 'title' => Yii::t('app', 'Title'),
+ 'value' => Yii::t('app', 'Value'),
+ ];
+ }
+
+ /**
+ * @return \yii\db\ActiveQuery
+ */
+ public function getTeam()
+ {
+ return $this->hasOne(Team::className(), ['id' => 'team_id']);
+ }
+}
diff --git a/backend/models/User.php b/backend/models/User.php
new file mode 100644
index 0000000..51325ce
--- /dev/null
+++ b/backend/models/User.php
@@ -0,0 +1,73 @@
+ 255],
+ [['auth_key'], 'string', 'max' => 32],
+ [['username'], 'unique'],
+ [['email'], 'unique'],
+ [['password_reset_token'], 'unique']
+ ];
+ }
+
+ /**
+ * @inheritdoc
+ */
+ public function attributeLabels()
+ {
+ return [
+ 'id' => Yii::t('app', 'ID'),
+ 'username' => Yii::t('app', 'Username'),
+ 'auth_key' => Yii::t('app', 'Auth Key'),
+ 'password_hash' => Yii::t('app', 'Password Hash'),
+ 'password_reset_token' => Yii::t('app', 'Password Reset Token'),
+ 'email' => Yii::t('app', 'Email'),
+ 'status' => Yii::t('app', 'Status'),
+ 'created_at' => Yii::t('app', 'Created At'),
+ 'updated_at' => Yii::t('app', 'Updated At'),
+ ];
+ }
+
+ /**
+ * @return \yii\db\ActiveQuery
+ */
+ public function getTeams()
+ {
+ return $this->hasMany(Team::className(), ['user_id' => 'id']);
+ }
+}
diff --git a/backend/runtime/.gitignore b/backend/runtime/.gitignore
new file mode 100644
index 0000000..c96a04f
--- /dev/null
+++ b/backend/runtime/.gitignore
@@ -0,0 +1,2 @@
+*
+!.gitignore
\ No newline at end of file
diff --git a/backend/views/adminlte/layouts/content.php b/backend/views/adminlte/layouts/content.php
new file mode 100644
index 0000000..38c9442
--- /dev/null
+++ b/backend/views/adminlte/layouts/content.php
@@ -0,0 +1,235 @@
+
+
+
+
+
+ = Alert::widget() ?>
+ = $content ?>
+
+
+
+
+
+ Version 2.0
+
+ Copyright © 2014-2015 Almsaeed Studio . All rights
+ reserved.
+
+
+
+
+
+
\ No newline at end of file
diff --git a/backend/views/adminlte/layouts/header.php b/backend/views/adminlte/layouts/header.php
new file mode 100644
index 0000000..177d603
--- /dev/null
+++ b/backend/views/adminlte/layouts/header.php
@@ -0,0 +1,284 @@
+
+
+
+
+ = Html::a('ArtWeb ' . Yii::$app->name . ' ', Yii::$app->homeUrl, ['class' => 'logo']) ?>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ */
+ ?>
+
+
diff --git a/backend/views/adminlte/layouts/left.php b/backend/views/adminlte/layouts/left.php
new file mode 100644
index 0000000..d961e1c
--- /dev/null
+++ b/backend/views/adminlte/layouts/left.php
@@ -0,0 +1,79 @@
+
diff --git a/backend/views/adminlte/layouts/main-login.php b/backend/views/adminlte/layouts/main-login.php
new file mode 100644
index 0000000..c6525db
--- /dev/null
+++ b/backend/views/adminlte/layouts/main-login.php
@@ -0,0 +1,29 @@
+
+beginPage() ?>
+
+
+
+
+
+ = Html::csrfMetaTags() ?>
+ = Html::encode($this->title) ?>
+ head() ?>
+
+
+
+beginBody() ?>
+
+ = $content ?>
+
+endBody() ?>
+
+
+endPage() ?>
diff --git a/backend/views/adminlte/layouts/main.php b/backend/views/adminlte/layouts/main.php
new file mode 100644
index 0000000..1aa871f
--- /dev/null
+++ b/backend/views/adminlte/layouts/main.php
@@ -0,0 +1,65 @@
+controller->action->id === 'login') {
+/**
+ * Do not use this code in your template. Remove it.
+ * Instead, use the code $this->layout = '//main-login'; in your controller.
+ */
+ echo $this->render(
+ 'main-login',
+ ['content' => $content]
+ );
+} else {
+
+ if (class_exists('backend\assets\AppAsset')) {
+ backend\assets\AppAsset::register($this);
+ } else {
+ app\assets\AppAsset::register($this);
+ }
+
+ dmstr\web\AdminLteAsset::register($this);
+
+ $directoryAsset = Yii::$app->assetManager->getPublishedUrl('@vendor/almasaeed2010/adminlte/dist');
+ ?>
+ beginPage() ?>
+
+
+
+
+
+ = Html::csrfMetaTags() ?>
+ = Html::encode($this->title) ?>
+ head() ?>
+
+
+ beginBody() ?>
+
+
+ = $this->render(
+ 'header.php',
+ ['directoryAsset' => $directoryAsset]
+ ) ?>
+
+ = $this->render(
+ 'left.php',
+ ['directoryAsset' => $directoryAsset]
+ )
+ ?>
+
+ = $this->render(
+ 'content.php',
+ ['content' => $content, 'directoryAsset' => $directoryAsset]
+ ) ?>
+
+
+
+ endBody() ?>
+
+
+ endPage() ?>
+
diff --git a/backend/views/adminlte/site/error.php b/backend/views/adminlte/site/error.php
new file mode 100644
index 0000000..fe51789
--- /dev/null
+++ b/backend/views/adminlte/site/error.php
@@ -0,0 +1,45 @@
+title = $name;
+?>
+
+
+
+
+
+
+
+
= $name ?>
+
+
+ = nl2br(Html::encode($message)) ?>
+
+
+
+ The above error occurred while the Web server was processing your request.
+ Please contact us if you think this is a server error. Thank you.
+ Meanwhile, you may return to dashboard or try using the search
+ form.
+
+
+
+
+
+
+
diff --git a/backend/views/adminlte/site/login.php b/backend/views/adminlte/site/login.php
new file mode 100644
index 0000000..bbe2136
--- /dev/null
+++ b/backend/views/adminlte/site/login.php
@@ -0,0 +1,70 @@
+title = 'Sign In';
+
+$fieldOptions1 = [
+ 'options' => ['class' => 'form-group has-feedback'],
+ 'inputTemplate' => "{input} "
+];
+
+$fieldOptions2 = [
+ 'options' => ['class' => 'form-group has-feedback'],
+ 'inputTemplate' => "{input} "
+];
+?>
+
+
+
+
+
+
Sign in to start your session
+
+ 'login-form', 'enableClientValidation' => false]); ?>
+
+ = $form
+ ->field($model, 'username', $fieldOptions1)
+ ->label(false)
+ ->textInput(['placeholder' => $model->getAttributeLabel('username')]) ?>
+
+ = $form
+ ->field($model, 'password', $fieldOptions2)
+ ->label(false)
+ ->passwordInput(['placeholder' => $model->getAttributeLabel('password')]) ?>
+
+
+
+ = $form->field($model, 'rememberMe')->checkbox() ?>
+
+
+
+ = Html::submitButton('Sign in', ['class' => 'btn btn-primary btn-block btn-flat', 'name' => 'login-button']) ?>
+
+
+
+
+
+
+
+
+
+
+
I forgot my password
+
Register a new membership
+
+
+
+
diff --git a/backend/views/clients/_form.php b/backend/views/clients/_form.php
new file mode 100755
index 0000000..602fc8e
--- /dev/null
+++ b/backend/views/clients/_form.php
@@ -0,0 +1,39 @@
+
+
+
diff --git a/backend/views/clients/_search.php b/backend/views/clients/_search.php
new file mode 100755
index 0000000..d5fdd09
--- /dev/null
+++ b/backend/views/clients/_search.php
@@ -0,0 +1,39 @@
+
+
+
+
+ ['index'],
+ 'method' => 'get',
+ ]); ?>
+
+ = $form->field($model, 'id') ?>
+
+ = $form->field($model, 'title') ?>
+
+ = $form->field($model, 'description') ?>
+
+ = $form->field($model, 'logo') ?>
+
+ = $form->field($model, 'link') ?>
+
+ field($model, 'visible') ?>
+
+ field($model, 'position') ?>
+
+
+ = Html::submitButton(Yii::t('app', 'Search'), ['class' => 'btn btn-primary']) ?>
+ = Html::resetButton(Yii::t('app', 'Reset'), ['class' => 'btn btn-default']) ?>
+
+
+
+
+
diff --git a/backend/views/clients/create.php b/backend/views/clients/create.php
new file mode 100755
index 0000000..46b1f58
--- /dev/null
+++ b/backend/views/clients/create.php
@@ -0,0 +1,21 @@
+title = Yii::t('app', 'Create Clients');
+$this->params['breadcrumbs'][] = ['label' => Yii::t('app', 'Clients'), 'url' => ['index']];
+$this->params['breadcrumbs'][] = $this->title;
+?>
+
+
+
= Html::encode($this->title) ?>
+
+ = $this->render('_form', [
+ 'model' => $model,
+ ]) ?>
+
+
diff --git a/backend/views/clients/index.php b/backend/views/clients/index.php
new file mode 100755
index 0000000..7d96e42
--- /dev/null
+++ b/backend/views/clients/index.php
@@ -0,0 +1,40 @@
+title = Yii::t('app', 'Clients');
+$this->params['breadcrumbs'][] = $this->title;
+?>
+
+
+
= Html::encode($this->title) ?>
+ render('_search', ['model' => $searchModel]); ?>
+
+
+ = Html::a(Yii::t('app', 'Create Clients'), ['create'], ['class' => 'btn btn-success']) ?>
+
+
+ = GridView::widget([
+ 'dataProvider' => $dataProvider,
+ 'filterModel' => $searchModel,
+ 'columns' => [
+ ['class' => 'yii\grid\SerialColumn'],
+
+ 'id',
+ 'title',
+ 'description:ntext',
+ 'logo',
+ 'link',
+ // 'visible',
+ // 'position',
+
+ ['class' => 'yii\grid\ActionColumn'],
+ ],
+ ]); ?>
+
+
diff --git a/backend/views/clients/update.php b/backend/views/clients/update.php
new file mode 100755
index 0000000..159459b
--- /dev/null
+++ b/backend/views/clients/update.php
@@ -0,0 +1,23 @@
+title = Yii::t('app', 'Update {modelClass}: ', [
+ 'modelClass' => 'Clients',
+]) . ' ' . $model->title;
+$this->params['breadcrumbs'][] = ['label' => Yii::t('app', 'Clients'), 'url' => ['index']];
+$this->params['breadcrumbs'][] = ['label' => $model->title, 'url' => ['view', 'id' => $model->id]];
+$this->params['breadcrumbs'][] = Yii::t('app', 'Update');
+?>
+
+
+
= Html::encode($this->title) ?>
+
+ = $this->render('_form', [
+ 'model' => $model,
+ ]) ?>
+
+
diff --git a/backend/views/clients/view.php b/backend/views/clients/view.php
new file mode 100755
index 0000000..fab5d21
--- /dev/null
+++ b/backend/views/clients/view.php
@@ -0,0 +1,41 @@
+title = $model->title;
+$this->params['breadcrumbs'][] = ['label' => Yii::t('app', 'Clients'), 'url' => ['index']];
+$this->params['breadcrumbs'][] = $this->title;
+?>
+
+
+
= Html::encode($this->title) ?>
+
+
+ = Html::a(Yii::t('app', 'Update'), ['update', 'id' => $model->id], ['class' => 'btn btn-primary']) ?>
+ = Html::a(Yii::t('app', 'Delete'), ['delete', 'id' => $model->id], [
+ 'class' => 'btn btn-danger',
+ 'data' => [
+ 'confirm' => Yii::t('app', 'Are you sure you want to delete this item?'),
+ 'method' => 'post',
+ ],
+ ]) ?>
+
+
+ = DetailView::widget([
+ 'model' => $model,
+ 'attributes' => [
+ 'id',
+ 'title',
+ 'description:ntext',
+ 'logo',
+ 'link',
+ 'visible',
+ 'position',
+ ],
+ ]) ?>
+
+
diff --git a/backend/views/departments/_form.php b/backend/views/departments/_form.php
new file mode 100755
index 0000000..6fdd699
--- /dev/null
+++ b/backend/views/departments/_form.php
@@ -0,0 +1,27 @@
+
+
+
diff --git a/backend/views/departments/_search.php b/backend/views/departments/_search.php
new file mode 100755
index 0000000..9ca415e
--- /dev/null
+++ b/backend/views/departments/_search.php
@@ -0,0 +1,33 @@
+
+
+
+
+ ['index'],
+ 'method' => 'get',
+ ]); ?>
+
+ = $form->field($model, 'id') ?>
+
+ = $form->field($model, 'title') ?>
+
+ = $form->field($model, 'description') ?>
+
+ = $form->field($model, 'visible') ?>
+
+
+ = Html::submitButton(Yii::t('app', 'Search'), ['class' => 'btn btn-primary']) ?>
+ = Html::resetButton(Yii::t('app', 'Reset'), ['class' => 'btn btn-default']) ?>
+
+
+
+
+
diff --git a/backend/views/departments/create.php b/backend/views/departments/create.php
new file mode 100755
index 0000000..426289e
--- /dev/null
+++ b/backend/views/departments/create.php
@@ -0,0 +1,21 @@
+title = Yii::t('app', 'Create Departments');
+$this->params['breadcrumbs'][] = ['label' => Yii::t('app', 'Departments'), 'url' => ['index']];
+$this->params['breadcrumbs'][] = $this->title;
+?>
+
+
+
= Html::encode($this->title) ?>
+
+ = $this->render('_form', [
+ 'model' => $model,
+ ]) ?>
+
+
diff --git a/backend/views/departments/index.php b/backend/views/departments/index.php
new file mode 100755
index 0000000..e3d0e0d
--- /dev/null
+++ b/backend/views/departments/index.php
@@ -0,0 +1,36 @@
+title = Yii::t('app', 'Departments');
+$this->params['breadcrumbs'][] = $this->title;
+?>
+
+
+
= Html::encode($this->title) ?>
+ render('_search', ['model' => $searchModel]); ?>
+
+
+ = Html::a(Yii::t('app', 'Create Departments'), ['create'], ['class' => 'btn btn-success']) ?>
+
+
+ = GridView::widget([
+ 'dataProvider' => $dataProvider,
+ 'filterModel' => $searchModel,
+ 'columns' => [
+ ['class' => 'yii\grid\SerialColumn'],
+
+ 'id',
+ 'title',
+ 'visible',
+
+ ['class' => 'yii\grid\ActionColumn'],
+ ],
+ ]); ?>
+
+
diff --git a/backend/views/departments/update.php b/backend/views/departments/update.php
new file mode 100755
index 0000000..0d7be14
--- /dev/null
+++ b/backend/views/departments/update.php
@@ -0,0 +1,23 @@
+title = Yii::t('app', 'Update {modelClass}: ', [
+ 'modelClass' => 'Departments',
+]) . ' ' . $model->title;
+$this->params['breadcrumbs'][] = ['label' => Yii::t('app', 'Departments'), 'url' => ['index']];
+$this->params['breadcrumbs'][] = ['label' => $model->title, 'url' => ['view', 'id' => $model->id]];
+$this->params['breadcrumbs'][] = Yii::t('app', 'Update');
+?>
+
+
+
= Html::encode($this->title) ?>
+
+ = $this->render('_form', [
+ 'model' => $model,
+ ]) ?>
+
+
diff --git a/backend/views/departments/view.php b/backend/views/departments/view.php
new file mode 100755
index 0000000..3228bbf
--- /dev/null
+++ b/backend/views/departments/view.php
@@ -0,0 +1,38 @@
+title = $model->title;
+$this->params['breadcrumbs'][] = ['label' => Yii::t('app', 'Departments'), 'url' => ['index']];
+$this->params['breadcrumbs'][] = $this->title;
+?>
+
+
+
= Html::encode($this->title) ?>
+
+
+ = Html::a(Yii::t('app', 'Update'), ['update', 'id' => $model->id], ['class' => 'btn btn-primary']) ?>
+ = Html::a(Yii::t('app', 'Delete'), ['delete', 'id' => $model->id], [
+ 'class' => 'btn btn-danger',
+ 'data' => [
+ 'confirm' => Yii::t('app', 'Are you sure you want to delete this item?'),
+ 'method' => 'post',
+ ],
+ ]) ?>
+
+
+ = DetailView::widget([
+ 'model' => $model,
+ 'attributes' => [
+ 'id',
+ 'title',
+ 'description:ntext',
+ 'visible',
+ ],
+ ]) ?>
+
+
diff --git a/backend/views/layouts/main.php b/backend/views/layouts/main.php
new file mode 100755
index 0000000..4d99660
--- /dev/null
+++ b/backend/views/layouts/main.php
@@ -0,0 +1,93 @@
+
+beginPage() ?>
+
+
+
+
+
+ = Html::csrfMetaTags() ?>
+ = Html::encode($this->title) ?>
+ head() ?>
+
+
+beginBody() ?>
+
+
+ 'ArtWeb',
+ 'brandUrl' => Yii::$app->homeUrl,
+ 'options' => [
+ 'class' => 'navbar-inverse navbar-fixed-top',
+ ],
+ ]);
+ $menuItems =
+ [
+ [
+ 'label' => 'КомпаниÑ',
+ 'items' => [
+ [
+ 'label' => 'Команда',
+ 'url' => ['/team']
+ ],
+ [
+ 'label' => 'Отделы',
+ 'url' => ['/departments']
+ ]
+ ]
+ ],
+ [
+ 'label' => 'Клиенты',
+ 'url' => ['/clients']
+ ],
+ ];
+ if (Yii::$app->user->isGuest) {
+ $menuItems[] = ['label' => 'Login', 'url' => ['/site/login']];
+ } else {
+ $menuItems[] = [
+ 'label' => 'Logout (' . Yii::$app->user->identity->username . ')',
+ 'url' => ['/site/logout'],
+ 'linkOptions' => ['data-method' => 'post']
+ ];
+ }
+ echo Nav::widget([
+ 'options' => ['class' => 'navbar-nav navbar-right'],
+ 'items' => $menuItems,
+ ]);
+ NavBar::end();
+ ?>
+
+
+ = Breadcrumbs::widget([
+ 'links' => isset($this->params['breadcrumbs']) ? $this->params['breadcrumbs'] : [],
+ ]) ?>
+ = Alert::widget() ?>
+ = $content ?>
+
+
+
+
+
+endBody() ?>
+
+
+endPage() ?>
diff --git a/backend/views/site/error.php b/backend/views/site/error.php
new file mode 100755
index 0000000..0ba2574
--- /dev/null
+++ b/backend/views/site/error.php
@@ -0,0 +1,27 @@
+title = $name;
+?>
+
+
+
= Html::encode($this->title) ?>
+
+
+ = nl2br(Html::encode($message)) ?>
+
+
+
+ The above error occurred while the Web server was processing your request.
+
+
+ Please contact us if you think this is a server error. Thank you.
+
+
+
diff --git a/backend/views/site/index.php b/backend/views/site/index.php
new file mode 100755
index 0000000..f780610
--- /dev/null
+++ b/backend/views/site/index.php
@@ -0,0 +1,53 @@
+title = 'My Yii Application';
+?>
+
+
+
+
Congratulations!
+
+
You have successfully created your Yii-powered application.
+
+
Get started with Yii
+
+
+
+
+
+
+
Heading
+
+
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et
+ dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip
+ ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu
+ fugiat nulla pariatur.
+
+
Yii Documentation »
+
+
+
Heading
+
+
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et
+ dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip
+ ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu
+ fugiat nulla pariatur.
+
+
Yii Forum »
+
+
+
Heading
+
+
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et
+ dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip
+ ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu
+ fugiat nulla pariatur.
+
+
Yii Extensions »
+
+
+
+
+
diff --git a/backend/views/site/login.php b/backend/views/site/login.php
new file mode 100755
index 0000000..ec9cc06
--- /dev/null
+++ b/backend/views/site/login.php
@@ -0,0 +1,35 @@
+title = 'Login';
+$this->params['breadcrumbs'][] = $this->title;
+?>
+
+
= Html::encode($this->title) ?>
+
+
Please fill out the following fields to login:
+
+
+
+ 'login-form']); ?>
+
+ = $form->field($model, 'username') ?>
+
+ = $form->field($model, 'password')->passwordInput() ?>
+
+ = $form->field($model, 'rememberMe')->checkbox() ?>
+
+
+ = Html::submitButton('Login', ['class' => 'btn btn-primary', 'name' => 'login-button']) ?>
+
+
+
+
+
+
diff --git a/backend/views/team/_form.php b/backend/views/team/_form.php
new file mode 100644
index 0000000..7def0b3
--- /dev/null
+++ b/backend/views/team/_form.php
@@ -0,0 +1,201 @@
+
+
+
+
+ ['enctype' => 'multipart/form-data', 'id' => 'team-form']]); ?>
+
+ = $form->errorSummary([$model,reset($skills)],['class' => 'alert alert-danger']); ?>
+
+ = $form->field($model, 'department_id')->dropDownList(
+ ArrayHelper::map(
+ Departments::find()->all(),
+ 'id',
+ 'title'
+ )
+ ) ?>
+
+ = $form->field($model, 'user_id')->dropDownList(
+ ArrayHelper::map(
+ User::find()->all(),
+ 'id',
+ 'username'
+ ), ['prompt' => Yii::t('yii', '(not set)')]
+ ) ?>
+
+ = $form->field($model, 'name')->textInput(['maxlength' => true]) ?>
+
+ = $form->field($model, 'name2')->textInput(['maxlength' => true]) ?>
+
+ = $form->field($model, 'email')->textInput(['maxlength' => true]) ?>
+
+ = $form->field($model, 'job')->textInput(['maxlength' => true]) ?>
+
+ = $form->field($model, 'zodiac')->dropDownList([ 'aries' => 'Aries', 'taurus' => 'Taurus', 'gemini' => 'Gemini', 'cancer' => 'Cancer', 'leo' => 'Leo', 'virgo' => 'Virgo', 'libra' => 'Libra', 'scorpio' => 'Scorpio', 'sagittarius' => 'Sagittarius', 'capricorn' => 'Capricorn', 'aquarius' => 'Aquarius', 'pisces' => 'Pisces'], ['prompt' => '']) ?>
+
+ = $form->field($model, 'iq')->textInput() ?>
+
+ = $form->field($model, 'soc_vk')->textInput(['maxlength' => true]) ?>
+
+ = $form->field($model, 'soc_fb')->textInput(['maxlength' => true]) ?>
+
+ = $form->field($model, 'soc_tw')->textInput(['maxlength' => true]) ?>
+
+ = $form->field($model, 'soc_li')->textInput(['maxlength' => true]) ?>
+
+ = $form->field($model, 'interests_caption')->widget(CKEditor::className(),[
+ 'editorOptions' => [
+ 'preset' => 'basic',
+ 'inline' => false,
+ ],
+ ]);
+ ?>
+
+
+ = Yii::t('app', 'Skils')?>
+ = $form->field($model, 'skils_caption')->widget(CKEditor::className(),[
+ 'editorOptions' => [
+ 'preset' => 'basic',
+ 'inline' => false,
+ ],
+ ]);
+ ?>
+
+ = MultiFields::widget([
+ 'models' => $skills,
+ 'form' => $form,
+ 'attributes' => [
+ [
+ 'attribute' => 'title',
+ 'options'=> [],
+ 'field' => function ($activeField, $skills, $parentClass, $closeButtonClass) {
+ return $activeField->textInput($skills);
+ },
+ ],
+ [
+ 'attribute' => 'value',
+ 'options'=> [],
+ 'field' => function ($activeField, $skills, $parentClass, $closeButtonClass) {
+ return $activeField->textInput($skills);
+ },
+ ],
+ ],
+ //default
+ 'parentClassPrefix' => '-mf-row',
+ 'closeButtonClass' => 'mf-btn-close pull-right',
+ 'clientOptions' => [
+ 'btn' => '.cloneBtn',
+ 'appendTo' => '',
+ 'confirmMessage' => Yii::t('yii' , 'Are you sure you want to delete this item?'),
+ 'deleteRouter' => Url::to('deleteskill'),
+ ],
+ 'template' => function($parentOptions, $closeButtonClass, $templateFields){ //default
+ $closeBtn = Html::tag('a', '×', ['class' => $closeButtonClass, 'href' => 'javascript:void(0)']);
+ return Html::tag('div', $closeBtn . $templateFields, $parentOptions);
+ },
+ ]);?>
+
+ = \yii\bootstrap\Button::widget([
+ 'label' => 'Add skill',
+ 'options' => [
+ 'class' => 'cloneBtn'
+ ]
+ ]);?>
+
+
+
+
+ = Yii::t('app', 'Books')?>
+ = $form->field($model, 'films_caption')->widget(CKEditor::className(),[
+ 'editorOptions' => [
+ 'preset' => 'basic',
+ 'inline' => false,
+ ],
+ ]);
+ ?>
+
+ = MultiFields::widget([
+ 'models' => $books,
+ 'form' => $form,
+ 'attributes' => [
+ [
+ 'attribute' => 'title',
+ 'options'=> [],
+ 'field' => function ($activeField, $books, $parentClass, $closeButtonClass) {
+ return $activeField->textInput($books);
+ },
+ ],
+ [
+ 'attribute' => 'cover',
+ 'options'=> [],
+ 'field' => function ($activeField, $books, $parentClass, $closeButtonClass) {
+ return $activeField->fileInput();
+ },
+ ],
+ ],
+ //default
+ 'parentClassPrefix' => '-mf-row',
+ 'closeButtonClass' => 'mf-btn-close pull-right',
+ 'clientOptions' => [
+ 'btn' => '.cloneBtn',
+ 'appendTo' => '',
+ 'confirmMessage' => Yii::t('yii' , 'Are you sure you want to delete this item?'),
+ 'deleteRouter' => Url::to('deletebook'),
+ ],
+ 'template' => function($parentOptions, $closeButtonClass, $templateFields){ //default
+ $closeBtn = Html::tag('a', '×', ['class' => $closeButtonClass, 'href' => 'javascript:void(0)']);
+ return Html::tag('div', $closeBtn . $templateFields, $parentOptions);
+ },
+ ]);?>
+
+ = \yii\bootstrap\Button::widget([
+ 'label' => 'Add book',
+ 'options' => [
+ 'class' => 'cloneBtn'
+ ]
+ ]);?>
+
+
+
+ = $form->field($model, 'description')->widget(CKEditor::className(),[
+ 'editorOptions' => [
+ 'preset' => 'basic',
+ 'inline' => false,
+ ],
+ ]);
+ ?>
+
+ = $form->field($model, 'file')->fileInput() ?>
+ photo)) :?>
+ = Html::img('/files/'. $model->photo, ['style' => 'max-width: 150px; max-height: 200px'])?>
+
+
+
+ = $form->field($model, 'file2')->fileInput() ?>
+ photo_big)) :?>
+ = Html::img('/files/'. $model->photo_big, ['style' => 'max-width: 150px; max-height: 200px'])?>
+
+
+
+ = $form->field($model, 'visible')->dropDownList([1=>Yii::t('app', 'Active'),0=>Yii::t('app', 'Hidden')]) ?>
+
+
+ = Html::submitButton($model->isNewRecord ? Yii::t('app', 'Create') : Yii::t('app', 'Update'), ['class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary']) ?>
+
+
+
+
+
diff --git a/backend/views/team/_search.php b/backend/views/team/_search.php
new file mode 100644
index 0000000..f3437ea
--- /dev/null
+++ b/backend/views/team/_search.php
@@ -0,0 +1,67 @@
+
+
+
+
+ ['index'],
+ 'method' => 'get',
+ ]); ?>
+
+ = $form->field($model, 'id') ?>
+
+ = $form->field($model, 'department_id') ?>
+
+ = $form->field($model, 'user_id') ?>
+
+ = $form->field($model, 'name') ?>
+
+ = $form->field($model, 'name2') ?>
+
+ field($model, 'email') ?>
+
+ field($model, 'job') ?>
+
+ field($model, 'zodiac') ?>
+
+ field($model, 'iq') ?>
+
+ field($model, 'soc_vk') ?>
+
+ field($model, 'soc_fb') ?>
+
+ field($model, 'soc_tw') ?>
+
+ field($model, 'soc_li') ?>
+
+ field($model, 'interests_caption') ?>
+
+ field($model, 'skils_caption') ?>
+
+ field($model, 'books_caption') ?>
+
+ field($model, 'films_caption') ?>
+
+ field($model, 'description') ?>
+
+ field($model, 'photo') ?>
+
+ field($model, 'photo_big') ?>
+
+ field($model, 'visible') ?>
+
+
+ = Html::submitButton(Yii::t('app', 'Search'), ['class' => 'btn btn-primary']) ?>
+ = Html::resetButton(Yii::t('app', 'Reset'), ['class' => 'btn btn-default']) ?>
+
+
+
+
+
diff --git a/backend/views/team/create.php b/backend/views/team/create.php
new file mode 100644
index 0000000..92d25a0
--- /dev/null
+++ b/backend/views/team/create.php
@@ -0,0 +1,21 @@
+title = Yii::t('app', 'Create Team');
+$this->params['breadcrumbs'][] = ['label' => Yii::t('app', 'Teams'), 'url' => ['index']];
+$this->params['breadcrumbs'][] = $this->title;
+?>
+
+
+
= Html::encode($this->title) ?>
+
+ = $this->render('_form', [
+ 'model' => $model,
+ ]) ?>
+
+
diff --git a/backend/views/team/index.php b/backend/views/team/index.php
new file mode 100644
index 0000000..8047865
--- /dev/null
+++ b/backend/views/team/index.php
@@ -0,0 +1,54 @@
+title = Yii::t('app', 'Teams');
+$this->params['breadcrumbs'][] = $this->title;
+?>
+
+
+
= Html::encode($this->title) ?>
+ render('_search', ['model' => $searchModel]); ?>
+
+
+ = Html::a(Yii::t('app', 'Create Team'), ['create'], ['class' => 'btn btn-success']) ?>
+
+
+ = GridView::widget([
+ 'dataProvider' => $dataProvider,
+ 'filterModel' => $searchModel,
+ 'columns' => [
+ ['class' => 'yii\grid\SerialColumn'],
+
+// 'id',
+// 'department_id',
+ 'name',
+ 'email:email',
+ 'user_id',
+ 'job',
+// 'name2',
+ // 'zodiac',
+ // 'iq',
+ // 'soc_vk',
+ // 'soc_fb',
+ // 'soc_tw',
+ // 'soc_li',
+ // 'interests_caption:ntext',
+ // 'skils_caption:ntext',
+ // 'books_caption:ntext',
+ // 'films_caption:ntext',
+ // 'description:ntext',
+ // 'photo',
+ // 'photo_big',
+ // 'visible',
+
+ ['class' => 'yii\grid\ActionColumn'],
+ ],
+ ]); ?>
+
+
diff --git a/backend/views/team/skils/_form.php b/backend/views/team/skils/_form.php
new file mode 100644
index 0000000..067afa4
--- /dev/null
+++ b/backend/views/team/skils/_form.php
@@ -0,0 +1,27 @@
+
+
+
diff --git a/backend/views/team/skils/create.php b/backend/views/team/skils/create.php
new file mode 100644
index 0000000..47134e2
--- /dev/null
+++ b/backend/views/team/skils/create.php
@@ -0,0 +1,21 @@
+title = Yii::t('app', 'Create Team Skils');
+$this->params['breadcrumbs'][] = ['label' => Yii::t('app', 'Team Skils'), 'url' => ['index']];
+$this->params['breadcrumbs'][] = $this->title;
+?>
+
+
+
= Html::encode($this->title) ?>
+
+ = $this->render('_form', [
+ 'model' => $model,
+ ]) ?>
+
+
diff --git a/backend/views/team/skils/index.php b/backend/views/team/skils/index.php
new file mode 100644
index 0000000..7e75779
--- /dev/null
+++ b/backend/views/team/skils/index.php
@@ -0,0 +1,34 @@
+title = Yii::t('app', 'Team Skils');
+$this->params['breadcrumbs'][] = $this->title;
+?>
+
+
+
= Html::encode($this->title) ?>
+
+
+ = Html::a(Yii::t('app', 'Create Team Skils'), ['create'], ['class' => 'btn btn-success']) ?>
+
+
+ = GridView::widget([
+ 'dataProvider' => $dataProvider,
+ 'columns' => [
+ ['class' => 'yii\grid\SerialColumn'],
+
+ 'id',
+ 'team_id',
+ 'title',
+ 'value',
+
+ ['class' => 'yii\grid\ActionColumn'],
+ ],
+ ]); ?>
+
+
diff --git a/backend/views/team/skils/update.php b/backend/views/team/skils/update.php
new file mode 100644
index 0000000..a74610e
--- /dev/null
+++ b/backend/views/team/skils/update.php
@@ -0,0 +1,23 @@
+title = Yii::t('app', 'Update {modelClass}: ', [
+ 'modelClass' => 'Team Skils',
+]) . ' ' . $model->title;
+$this->params['breadcrumbs'][] = ['label' => Yii::t('app', 'Team Skils'), 'url' => ['index']];
+$this->params['breadcrumbs'][] = ['label' => $model->title, 'url' => ['view', 'id' => $model->id]];
+$this->params['breadcrumbs'][] = Yii::t('app', 'Update');
+?>
+
+
+
= Html::encode($this->title) ?>
+
+ = $this->render('_form', [
+ 'model' => $model,
+ ]) ?>
+
+
diff --git a/backend/views/team/skils/view.php b/backend/views/team/skils/view.php
new file mode 100644
index 0000000..2d5fe6f
--- /dev/null
+++ b/backend/views/team/skils/view.php
@@ -0,0 +1,38 @@
+title = $model->title;
+$this->params['breadcrumbs'][] = ['label' => Yii::t('app', 'Team Skils'), 'url' => ['index']];
+$this->params['breadcrumbs'][] = $this->title;
+?>
+
+
+
= Html::encode($this->title) ?>
+
+
+ = Html::a(Yii::t('app', 'Update'), ['update', 'id' => $model->id], ['class' => 'btn btn-primary']) ?>
+ = Html::a(Yii::t('app', 'Delete'), ['delete', 'id' => $model->id], [
+ 'class' => 'btn btn-danger',
+ 'data' => [
+ 'confirm' => Yii::t('app', 'Are you sure you want to delete this item?'),
+ 'method' => 'post',
+ ],
+ ]) ?>
+
+
+ = DetailView::widget([
+ 'model' => $model,
+ 'attributes' => [
+ 'id',
+ 'team_id',
+ 'title',
+ 'value',
+ ],
+ ]) ?>
+
+
diff --git a/backend/views/team/update.php b/backend/views/team/update.php
new file mode 100644
index 0000000..c661c8c
--- /dev/null
+++ b/backend/views/team/update.php
@@ -0,0 +1,25 @@
+title = Yii::t('app', 'Update {modelClass}: ', [
+ 'modelClass' => 'Team',
+]) . ' ' . $model->name;
+$this->params['breadcrumbs'][] = ['label' => Yii::t('app', 'Teams'), 'url' => ['index']];
+$this->params['breadcrumbs'][] = ['label' => $model->name, 'url' => ['view', 'id' => $model->id]];
+$this->params['breadcrumbs'][] = Yii::t('app', 'Update');
+?>
+
+
+
= Html::encode($this->title) ?>
+
+ = $this->render('_form', [
+ 'model' => $model,
+ 'skills' => $skills,
+ 'books' => $books,
+ ]) ?>
+
+
diff --git a/backend/views/team/view.php b/backend/views/team/view.php
new file mode 100644
index 0000000..1124beb
--- /dev/null
+++ b/backend/views/team/view.php
@@ -0,0 +1,55 @@
+title = $model->name;
+$this->params['breadcrumbs'][] = ['label' => Yii::t('app', 'Teams'), 'url' => ['index']];
+$this->params['breadcrumbs'][] = $this->title;
+?>
+
+
+
= Html::encode($this->title) ?>
+
+
+ = Html::a(Yii::t('app', 'Update'), ['update', 'id' => $model->id], ['class' => 'btn btn-primary']) ?>
+ = Html::a(Yii::t('app', 'Delete'), ['delete', 'id' => $model->id], [
+ 'class' => 'btn btn-danger',
+ 'data' => [
+ 'confirm' => Yii::t('app', 'Are you sure you want to delete this item?'),
+ 'method' => 'post',
+ ],
+ ]) ?>
+
+
+ = DetailView::widget([
+ 'model' => $model,
+ 'attributes' => [
+ 'id',
+ 'department_id',
+ 'user_id',
+ 'name',
+ 'name2',
+ 'email:email',
+ 'job',
+ 'zodiac',
+ 'iq',
+ 'soc_vk',
+ 'soc_fb',
+ 'soc_tw',
+ 'soc_li',
+ 'interests_caption:ntext',
+ 'skils_caption:ntext',
+ 'books_caption:ntext',
+ 'films_caption:ntext',
+ 'description:ntext',
+ 'photo',
+ 'photo_big',
+ 'visible',
+ ],
+ ]) ?>
+
+
diff --git a/backend/web/.gitignore b/backend/web/.gitignore
new file mode 100644
index 0000000..25c74e6
--- /dev/null
+++ b/backend/web/.gitignore
@@ -0,0 +1,2 @@
+/index.php
+/index-test.php
diff --git a/backend/web/assets/.gitignore b/backend/web/assets/.gitignore
new file mode 100644
index 0000000..d6b7ef3
--- /dev/null
+++ b/backend/web/assets/.gitignore
@@ -0,0 +1,2 @@
+*
+!.gitignore
diff --git a/backend/web/css/site.css b/backend/web/css/site.css
new file mode 100644
index 0000000..698be70
--- /dev/null
+++ b/backend/web/css/site.css
@@ -0,0 +1,91 @@
+html,
+body {
+ height: 100%;
+}
+
+.wrap {
+ min-height: 100%;
+ height: auto;
+ margin: 0 auto -60px;
+ padding: 0 0 60px;
+}
+
+.wrap > .container {
+ padding: 70px 15px 20px;
+}
+
+.footer {
+ height: 60px;
+ background-color: #f5f5f5;
+ border-top: 1px solid #ddd;
+ padding-top: 20px;
+}
+
+.jumbotron {
+ text-align: center;
+ background-color: transparent;
+}
+
+.jumbotron .btn {
+ font-size: 21px;
+ padding: 14px 24px;
+}
+
+.not-set {
+ color: #c55;
+ font-style: italic;
+}
+
+/* add sorting icons to gridview sort links */
+a.asc:after, a.desc:after {
+ position: relative;
+ top: 1px;
+ display: inline-block;
+ font-family: 'Glyphicons Halflings';
+ font-style: normal;
+ font-weight: normal;
+ line-height: 1;
+ padding-left: 5px;
+}
+
+a.asc:after {
+ content: /*"\e113"*/ "\e151";
+}
+
+a.desc:after {
+ content: /*"\e114"*/ "\e152";
+}
+
+.sort-numerical a.asc:after {
+ content: "\e153";
+}
+
+.sort-numerical a.desc:after {
+ content: "\e154";
+}
+
+.sort-ordinal a.asc:after {
+ content: "\e155";
+}
+
+.sort-ordinal a.desc:after {
+ content: "\e156";
+}
+
+.grid-view th {
+ white-space: nowrap;
+}
+
+.hint-block {
+ display: block;
+ margin-top: 5px;
+ color: #999;
+}
+
+.error-summary {
+ color: #a94442;
+ background: #fdf7f7;
+ border-left: 3px solid #eed3d7;
+ padding: 10px 20px;
+ margin: 0 0 15px 0;
+}
diff --git a/backend/web/favicon.ico b/backend/web/favicon.ico
new file mode 100644
index 0000000..580ed73
Binary files /dev/null and b/backend/web/favicon.ico differ
diff --git a/backend/web/robots.txt b/backend/web/robots.txt
new file mode 100644
index 0000000..1f53798
--- /dev/null
+++ b/backend/web/robots.txt
@@ -0,0 +1,2 @@
+User-agent: *
+Disallow: /
diff --git a/common/components/Request.php b/common/components/Request.php
new file mode 100644
index 0000000..6d9baad
--- /dev/null
+++ b/common/components/Request.php
@@ -0,0 +1,22 @@
+web, "", parent::getBaseUrl()) . $this->adminUrl;
+ }
+
+ public function resolvePathInfo()
+ {
+ if ($this->getUrl() === $this->adminUrl) {
+ return "";
+ } else {
+ return parent::resolvePathInfo();
+ }
+ }
+}
\ No newline at end of file
diff --git a/common/config/.gitignore b/common/config/.gitignore
new file mode 100644
index 0000000..97c0f01
--- /dev/null
+++ b/common/config/.gitignore
@@ -0,0 +1,2 @@
+main-local.php
+params-local.php
diff --git a/common/config/bootstrap.php b/common/config/bootstrap.php
new file mode 100644
index 0000000..ecc13e5
--- /dev/null
+++ b/common/config/bootstrap.php
@@ -0,0 +1,5 @@
+ dirname(dirname(__DIR__)) . '/vendor',
+ 'components' => [
+ 'cache' => [
+ 'class' => 'yii\caching\FileCache',
+ ],
+ 'urlManager' => [
+ 'enablePrettyUrl' => true,
+ 'showScriptName' => false,
+ 'rules' => [
+ 'module///' => '//',
+ ]
+ ],
+ ],
+ 'language' => 'ru-RU',
+];
diff --git a/common/config/params.php b/common/config/params.php
new file mode 100644
index 0000000..4ec9ba6
--- /dev/null
+++ b/common/config/params.php
@@ -0,0 +1,6 @@
+ 'admin@example.com',
+ 'supportEmail' => 'support@example.com',
+ 'user.passwordResetTokenExpire' => 3600,
+];
diff --git a/common/config/rules.php b/common/config/rules.php
new file mode 100644
index 0000000..1d2d0da
--- /dev/null
+++ b/common/config/rules.php
@@ -0,0 +1,7 @@
+' => '/index',
+ '/' => '/',
+ '//' => '/',
+];
\ No newline at end of file
diff --git a/common/mail/layouts/html.php b/common/mail/layouts/html.php
new file mode 100644
index 0000000..bddbc61
--- /dev/null
+++ b/common/mail/layouts/html.php
@@ -0,0 +1,22 @@
+
+beginPage() ?>
+
+
+
+
+ = Html::encode($this->title) ?>
+ head() ?>
+
+
+ beginBody() ?>
+ = $content ?>
+ endBody() ?>
+
+
+endPage() ?>
diff --git a/common/mail/layouts/text.php b/common/mail/layouts/text.php
new file mode 100644
index 0000000..7087cea
--- /dev/null
+++ b/common/mail/layouts/text.php
@@ -0,0 +1,12 @@
+
+beginPage() ?>
+beginBody() ?>
+= $content ?>
+endBody() ?>
+endPage() ?>
diff --git a/common/mail/passwordResetToken-html.php b/common/mail/passwordResetToken-html.php
new file mode 100644
index 0000000..f3daf49
--- /dev/null
+++ b/common/mail/passwordResetToken-html.php
@@ -0,0 +1,15 @@
+urlManager->createAbsoluteUrl(['site/reset-password', 'token' => $user->password_reset_token]);
+?>
+
+
Hello = Html::encode($user->username) ?>,
+
+
Follow the link below to reset your password:
+
+
= Html::a(Html::encode($resetLink), $resetLink) ?>
+
diff --git a/common/mail/passwordResetToken-text.php b/common/mail/passwordResetToken-text.php
new file mode 100644
index 0000000..244c0cb
--- /dev/null
+++ b/common/mail/passwordResetToken-text.php
@@ -0,0 +1,12 @@
+urlManager->createAbsoluteUrl(['site/reset-password', 'token' => $user->password_reset_token]);
+?>
+Hello = $user->username ?>,
+
+Follow the link below to reset your password:
+
+= $resetLink ?>
diff --git a/common/models/LoginForm.php b/common/models/LoginForm.php
new file mode 100644
index 0000000..afc1c23
--- /dev/null
+++ b/common/models/LoginForm.php
@@ -0,0 +1,78 @@
+hasErrors()) {
+ $user = $this->getUser();
+ if (!$user || !$user->validatePassword($this->password)) {
+ $this->addError($attribute, 'Incorrect username or password.');
+ }
+ }
+ }
+
+ /**
+ * Logs in a user using the provided username and password.
+ *
+ * @return boolean whether the user is logged in successfully
+ */
+ public function login()
+ {
+ if ($this->validate()) {
+ return Yii::$app->user->login($this->getUser(), $this->rememberMe ? 3600 * 24 * 30 : 0);
+ } else {
+ return false;
+ }
+ }
+
+ /**
+ * Finds user by [[username]]
+ *
+ * @return User|null
+ */
+ protected function getUser()
+ {
+ if ($this->_user === null) {
+ $this->_user = User::findByUsername($this->username);
+ }
+
+ return $this->_user;
+ }
+}
diff --git a/common/models/OrdersAudit.php b/common/models/OrdersAudit.php
new file mode 100644
index 0000000..67ef04d
--- /dev/null
+++ b/common/models/OrdersAudit.php
@@ -0,0 +1,64 @@
+ 150],
+ [['ip'], 'string', 'max' => 15]
+ ];
+ }
+
+ /**
+ * @inheritdoc
+ */
+ public function attributeLabels()
+ {
+ return [
+ 'id' => Yii::t('app', 'ID'),
+ 'email' => Yii::t('app', 'Email'),
+ 'phone' => Yii::t('app', 'Phone'),
+ 'comment' => Yii::t('app', 'Comment'),
+ 'created' => Yii::t('app', 'Created'),
+ 'ip' => Yii::t('app', 'Ip'),
+ ];
+ }
+
+ public function setDefaults() {
+ $this->ip = Yii::$app->request->getUserIP();
+ $this->created = time();
+ }
+
+ public function sendEmail($to) {
+
+ }
+}
diff --git a/common/models/User.php b/common/models/User.php
new file mode 100644
index 0000000..ce78fcd
--- /dev/null
+++ b/common/models/User.php
@@ -0,0 +1,188 @@
+ self::STATUS_ACTIVE],
+ ['status', 'in', 'range' => [self::STATUS_ACTIVE, self::STATUS_DELETED]],
+ ];
+ }
+
+ /**
+ * @inheritdoc
+ */
+ public static function findIdentity($id)
+ {
+ return static::findOne(['id' => $id, 'status' => self::STATUS_ACTIVE]);
+ }
+
+ /**
+ * @inheritdoc
+ */
+ public static function findIdentityByAccessToken($token, $type = null)
+ {
+ throw new NotSupportedException('"findIdentityByAccessToken" is not implemented.');
+ }
+
+ /**
+ * Finds user by username
+ *
+ * @param string $username
+ * @return static|null
+ */
+ public static function findByUsername($username)
+ {
+ return static::findOne(['username' => $username, 'status' => self::STATUS_ACTIVE]);
+ }
+
+ /**
+ * Finds user by password reset token
+ *
+ * @param string $token password reset token
+ * @return static|null
+ */
+ public static function findByPasswordResetToken($token)
+ {
+ if (!static::isPasswordResetTokenValid($token)) {
+ return null;
+ }
+
+ return static::findOne([
+ 'password_reset_token' => $token,
+ 'status' => self::STATUS_ACTIVE,
+ ]);
+ }
+
+ /**
+ * Finds out if password reset token is valid
+ *
+ * @param string $token password reset token
+ * @return boolean
+ */
+ public static function isPasswordResetTokenValid($token)
+ {
+ if (empty($token)) {
+ return false;
+ }
+
+ $timestamp = (int) substr($token, strrpos($token, '_') + 1);
+ $expire = Yii::$app->params['user.passwordResetTokenExpire'];
+ return $timestamp + $expire >= time();
+ }
+
+ /**
+ * @inheritdoc
+ */
+ public function getId()
+ {
+ return $this->getPrimaryKey();
+ }
+
+ /**
+ * @inheritdoc
+ */
+ public function getAuthKey()
+ {
+ return $this->auth_key;
+ }
+
+ /**
+ * @inheritdoc
+ */
+ public function validateAuthKey($authKey)
+ {
+ return $this->getAuthKey() === $authKey;
+ }
+
+ /**
+ * Validates password
+ *
+ * @param string $password password to validate
+ * @return boolean if password provided is valid for current user
+ */
+ public function validatePassword($password)
+ {
+ return Yii::$app->security->validatePassword($password, $this->password_hash);
+ }
+
+ /**
+ * Generates password hash from password and sets it to the model
+ *
+ * @param string $password
+ */
+ public function setPassword($password)
+ {
+ $this->password_hash = Yii::$app->security->generatePasswordHash($password);
+ }
+
+ /**
+ * Generates "remember me" authentication key
+ */
+ public function generateAuthKey()
+ {
+ $this->auth_key = Yii::$app->security->generateRandomString();
+ }
+
+ /**
+ * Generates new password reset token
+ */
+ public function generatePasswordResetToken()
+ {
+ $this->password_reset_token = Yii::$app->security->generateRandomString() . '_' . time();
+ }
+
+ /**
+ * Removes password reset token
+ */
+ public function removePasswordResetToken()
+ {
+ $this->password_reset_token = null;
+ }
+}
diff --git a/common/widgets/Alert.php b/common/widgets/Alert.php
new file mode 100644
index 0000000..8f1e590
--- /dev/null
+++ b/common/widgets/Alert.php
@@ -0,0 +1,79 @@
+session->setFlash('error', 'This is the message');
+ * \Yii::$app->session->setFlash('success', 'This is the message');
+ * \Yii::$app->session->setFlash('info', 'This is the message');
+ * ```
+ *
+ * Multiple messages could be set as follows:
+ *
+ * ```php
+ * \Yii::$app->session->setFlash('error', ['Error 1', 'Error 2']);
+ * ```
+ *
+ * @author Kartik Visweswaran
+ * @author Alexander Makarov
+ */
+class Alert extends \yii\bootstrap\Widget
+{
+ /**
+ * @var array the alert types configuration for the flash messages.
+ * This array is setup as $key => $value, where:
+ * - $key is the name of the session flash variable
+ * - $value is the bootstrap alert type (i.e. danger, success, info, warning)
+ */
+ public $alertTypes = [
+ 'error' => 'alert-danger',
+ 'danger' => 'alert-danger',
+ 'success' => 'alert-success',
+ 'info' => 'alert-info',
+ 'warning' => 'alert-warning'
+ ];
+
+ /**
+ * @var array the options for rendering the close button tag.
+ */
+ public $closeButton = [];
+
+ public function init()
+ {
+ parent::init();
+
+ $session = \Yii::$app->session;
+ $flashes = $session->getAllFlashes();
+ $appendCss = isset($this->options['class']) ? ' ' . $this->options['class'] : '';
+
+ foreach ($flashes as $type => $data) {
+ if (isset($this->alertTypes[$type])) {
+ $data = (array) $data;
+ foreach ($data as $i => $message) {
+ /* initialize css class for each alert box */
+ $this->options['class'] = $this->alertTypes[$type] . $appendCss;
+
+ /* assign unique id to each alert box */
+ $this->options['id'] = $this->getId() . '-' . $type . '-' . $i;
+
+ echo \yii\bootstrap\Alert::widget([
+ 'body' => $message,
+ 'closeButton' => $this->closeButton,
+ 'options' => $this->options,
+ ]);
+ }
+
+ $session->removeFlash($type);
+ }
+ }
+ }
+}
diff --git a/composer.json b/composer.json
new file mode 100644
index 0000000..fe2b4b5
--- /dev/null
+++ b/composer.json
@@ -0,0 +1,39 @@
+{
+ "name": "yiisoft/yii2-app-advanced",
+ "description": "Yii 2 Advanced Project Template",
+ "keywords": ["yii2", "framework", "advanced", "project template"],
+ "homepage": "http://www.yiiframework.com/",
+ "type": "project",
+ "license": "BSD-3-Clause",
+ "support": {
+ "issues": "https://github.com/yiisoft/yii2/issues?state=open",
+ "forum": "http://www.yiiframework.com/forum/",
+ "wiki": "http://www.yiiframework.com/wiki/",
+ "irc": "irc://irc.freenode.net/yii",
+ "source": "https://github.com/yiisoft/yii2"
+ },
+ "minimum-stability": "stable",
+ "require": {
+ "php": ">=5.4.0",
+ "yiisoft/yii2": ">=2.0.6",
+ "yiisoft/yii2-bootstrap": "*",
+ "yiisoft/yii2-swiftmailer": "*",
+ "pavlinter/yii2-multifields": "*",
+ "dmstr/yii2-adminlte-asset": "2.*"
+ },
+ "require-dev": {
+ "yiisoft/yii2-codeception": "*",
+ "yiisoft/yii2-debug": "*",
+ "yiisoft/yii2-gii": "*",
+ "yiisoft/yii2-faker": "*"
+ },
+ "config": {
+ "process-timeout": 1800
+ },
+ "extra": {
+ "asset-installer-paths": {
+ "npm-asset-library": "vendor/npm",
+ "bower-asset-library": "vendor/bower"
+ }
+ }
+}
diff --git a/composer.lock b/composer.lock
new file mode 100644
index 0000000..bfde42d
--- /dev/null
+++ b/composer.lock
@@ -0,0 +1,1194 @@
+{
+ "_readme": [
+ "This file locks the dependencies of your project to a known state",
+ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
+ "This file is @generated automatically"
+ ],
+ "hash": "e52c5edddf09bbaefeae553d396be73c",
+ "content-hash": "f8b86b0265935903d07aa38f77e2aadb",
+ "packages": [
+ {
+ "name": "almasaeed2010/adminlte",
+ "version": "v2.3.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/almasaeed2010/AdminLTE.git",
+ "reference": "81aa879d3a4489213888e24975b073c7478f0447"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/almasaeed2010/AdminLTE/zipball/81aa879d3a4489213888e24975b073c7478f0447",
+ "reference": "81aa879d3a4489213888e24975b073c7478f0447",
+ "shasum": ""
+ },
+ "type": "library",
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Abdullah Almsaeed",
+ "email": "support@almsaeedstudio.com"
+ }
+ ],
+ "description": "AdminLTE - admin control panel and dashboard that's based on Bootstrap 3",
+ "homepage": "http://almsaeedstudio.com/",
+ "keywords": [
+ "JS",
+ "admin",
+ "back-end",
+ "css",
+ "less",
+ "responsive",
+ "template",
+ "theme",
+ "web"
+ ],
+ "time": "2015-08-17 01:49:41"
+ },
+ {
+ "name": "bower-asset/bootstrap",
+ "version": "v3.3.5",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/twbs/bootstrap.git",
+ "reference": "16b48259a62f576e52c903c476bd42b90ab22482"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/twbs/bootstrap/zipball/16b48259a62f576e52c903c476bd42b90ab22482",
+ "reference": "16b48259a62f576e52c903c476bd42b90ab22482",
+ "shasum": ""
+ },
+ "require": {
+ "bower-asset/jquery": ">=1.9.1"
+ },
+ "type": "bower-asset-library",
+ "extra": {
+ "bower-asset-main": [
+ "less/bootstrap.less",
+ "dist/js/bootstrap.js"
+ ],
+ "bower-asset-ignore": [
+ "/.*",
+ "_config.yml",
+ "CNAME",
+ "composer.json",
+ "CONTRIBUTING.md",
+ "docs",
+ "js/tests",
+ "test-infra"
+ ]
+ },
+ "license": [
+ "MIT"
+ ],
+ "description": "The most popular front-end framework for developing responsive, mobile first projects on the web.",
+ "keywords": [
+ "css",
+ "framework",
+ "front-end",
+ "js",
+ "less",
+ "mobile-first",
+ "responsive",
+ "web"
+ ]
+ },
+ {
+ "name": "bower-asset/fontawesome",
+ "version": "v4.4.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/FortAwesome/Font-Awesome.git",
+ "reference": "e554555d73a44e0a7d11b0361ad7a5325a5f551c"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/FortAwesome/Font-Awesome/zipball/e554555d73a44e0a7d11b0361ad7a5325a5f551c",
+ "reference": "e554555d73a44e0a7d11b0361ad7a5325a5f551c",
+ "shasum": ""
+ },
+ "type": "bower-asset-library",
+ "extra": {
+ "bower-asset-main": [
+ "less/font-awesome.less",
+ "scss/font-awesome.scss"
+ ],
+ "bower-asset-ignore": [
+ "*/.*",
+ "*.json",
+ "src",
+ "*.yml",
+ "Gemfile",
+ "Gemfile.lock",
+ "*.md"
+ ]
+ },
+ "license": [
+ "OFL-1.1",
+ "MIT",
+ "CC-BY-3.0"
+ ],
+ "description": "Font Awesome"
+ },
+ {
+ "name": "bower-asset/jquery",
+ "version": "2.1.4",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/jquery/jquery.git",
+ "reference": "7751e69b615c6eca6f783a81e292a55725af6b85"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/jquery/jquery/zipball/7751e69b615c6eca6f783a81e292a55725af6b85",
+ "reference": "7751e69b615c6eca6f783a81e292a55725af6b85",
+ "shasum": ""
+ },
+ "require-dev": {
+ "bower-asset/qunit": "1.14.0",
+ "bower-asset/requirejs": "2.1.10",
+ "bower-asset/sinon": "1.8.1",
+ "bower-asset/sizzle": "2.1.1-patch2"
+ },
+ "type": "bower-asset-library",
+ "extra": {
+ "bower-asset-main": "dist/jquery.js",
+ "bower-asset-ignore": [
+ "**/.*",
+ "build",
+ "dist/cdn",
+ "speed",
+ "test",
+ "*.md",
+ "AUTHORS.txt",
+ "Gruntfile.js",
+ "package.json"
+ ]
+ },
+ "license": [
+ "MIT"
+ ],
+ "keywords": [
+ "javascript",
+ "jquery",
+ "library"
+ ]
+ },
+ {
+ "name": "bower-asset/jquery.inputmask",
+ "version": "3.1.63",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/RobinHerbots/jquery.inputmask.git",
+ "reference": "c40c7287eadc31e341ebbf0c02352eb55b9cbc48"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/RobinHerbots/jquery.inputmask/zipball/c40c7287eadc31e341ebbf0c02352eb55b9cbc48",
+ "reference": "c40c7287eadc31e341ebbf0c02352eb55b9cbc48",
+ "shasum": ""
+ },
+ "require": {
+ "bower-asset/jquery": ">=1.7"
+ },
+ "type": "bower-asset-library",
+ "extra": {
+ "bower-asset-main": [
+ "./dist/inputmask/jquery.inputmask.js",
+ "./dist/inputmask/jquery.inputmask.extensions.js",
+ "./dist/inputmask/jquery.inputmask.date.extensions.js",
+ "./dist/inputmask/jquery.inputmask.numeric.extensions.js",
+ "./dist/inputmask/jquery.inputmask.phone.extensions.js",
+ "./dist/inputmask/jquery.inputmask.regex.extensions.js"
+ ],
+ "bower-asset-ignore": [
+ "**/.*",
+ "qunit/",
+ "nuget/",
+ "tools/",
+ "js/",
+ "*.md",
+ "build.properties",
+ "build.xml",
+ "jquery.inputmask.jquery.json"
+ ]
+ },
+ "license": [
+ "http://opensource.org/licenses/mit-license.php"
+ ],
+ "description": "jquery.inputmask is a jquery plugin which create an input mask.",
+ "keywords": [
+ "form",
+ "input",
+ "inputmask",
+ "jquery",
+ "mask",
+ "plugins"
+ ]
+ },
+ {
+ "name": "bower-asset/punycode",
+ "version": "v1.3.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/bestiejs/punycode.js.git",
+ "reference": "38c8d3131a82567bfef18da09f7f4db68c84f8a3"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/bestiejs/punycode.js/zipball/38c8d3131a82567bfef18da09f7f4db68c84f8a3",
+ "reference": "38c8d3131a82567bfef18da09f7f4db68c84f8a3",
+ "shasum": ""
+ },
+ "type": "bower-asset-library",
+ "extra": {
+ "bower-asset-main": "punycode.js",
+ "bower-asset-ignore": [
+ "coverage",
+ "tests",
+ ".*",
+ "component.json",
+ "Gruntfile.js",
+ "node_modules",
+ "package.json"
+ ]
+ }
+ },
+ {
+ "name": "bower-asset/yii2-pjax",
+ "version": "v2.0.4",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/yiisoft/jquery-pjax.git",
+ "reference": "3f20897307cca046fca5323b318475ae9dac0ca0"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/yiisoft/jquery-pjax/zipball/3f20897307cca046fca5323b318475ae9dac0ca0",
+ "reference": "3f20897307cca046fca5323b318475ae9dac0ca0",
+ "shasum": ""
+ },
+ "require": {
+ "bower-asset/jquery": ">=1.8"
+ },
+ "type": "bower-asset-library",
+ "extra": {
+ "bower-asset-main": "./jquery.pjax.js",
+ "bower-asset-ignore": [
+ ".travis.yml",
+ "Gemfile",
+ "Gemfile.lock",
+ "vendor/",
+ "script/",
+ "test/"
+ ]
+ },
+ "license": [
+ "MIT"
+ ]
+ },
+ {
+ "name": "cebe/markdown",
+ "version": "1.1.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/cebe/markdown.git",
+ "reference": "54a2c49de31cc44e864ebf0500a35ef21d0010b2"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/cebe/markdown/zipball/54a2c49de31cc44e864ebf0500a35ef21d0010b2",
+ "reference": "54a2c49de31cc44e864ebf0500a35ef21d0010b2",
+ "shasum": ""
+ },
+ "require": {
+ "lib-pcre": "*",
+ "php": ">=5.4.0"
+ },
+ "require-dev": {
+ "cebe/indent": "*",
+ "facebook/xhprof": "*@dev",
+ "phpunit/phpunit": "4.1.*"
+ },
+ "bin": [
+ "bin/markdown"
+ ],
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.1.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "cebe\\markdown\\": ""
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Carsten Brandt",
+ "email": "mail@cebe.cc",
+ "homepage": "http://cebe.cc/",
+ "role": "Creator"
+ }
+ ],
+ "description": "A super fast, highly extensible markdown parser for PHP",
+ "homepage": "https://github.com/cebe/markdown#readme",
+ "keywords": [
+ "extensible",
+ "fast",
+ "gfm",
+ "markdown",
+ "markdown-extra"
+ ],
+ "time": "2015-03-06 05:28:07"
+ },
+ {
+ "name": "cebe/yii2-gravatar",
+ "version": "1.1",
+ "target-dir": "cebe/gravatar",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/cebe/yii2-gravatar.git",
+ "reference": "c9c01bd14c9bdee9e5ae1ef1aad23f80c182c057"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/cebe/yii2-gravatar/zipball/c9c01bd14c9bdee9e5ae1ef1aad23f80c182c057",
+ "reference": "c9c01bd14c9bdee9e5ae1ef1aad23f80c182c057",
+ "shasum": ""
+ },
+ "require": {
+ "yiisoft/yii2": "*"
+ },
+ "type": "yii2-extension",
+ "autoload": {
+ "psr-0": {
+ "cebe\\gravatar\\": ""
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Carsten Brandt",
+ "email": "mail@cebe.cc",
+ "homepage": "http://cebe.cc/",
+ "role": "Core framework development"
+ }
+ ],
+ "description": "Gravatar Widget for Yii 2",
+ "keywords": [
+ "gravatar",
+ "yii"
+ ],
+ "time": "2013-12-10 17:49:58"
+ },
+ {
+ "name": "dmstr/yii2-adminlte-asset",
+ "version": "2.2.3",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/dmstr/yii2-adminlte-asset.git",
+ "reference": "45cffbfe90d79f3c405b4cc98f7f318ae372bb10"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/dmstr/yii2-adminlte-asset/zipball/45cffbfe90d79f3c405b4cc98f7f318ae372bb10",
+ "reference": "45cffbfe90d79f3c405b4cc98f7f318ae372bb10",
+ "shasum": ""
+ },
+ "require": {
+ "almasaeed2010/adminlte": "~2.0",
+ "cebe/yii2-gravatar": "1.*",
+ "rmrevin/yii2-fontawesome": "~2.9",
+ "yiisoft/yii2": "2.*",
+ "yiisoft/yii2-bootstrap": "2.*"
+ },
+ "type": "yii2-extension",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.0.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "dmstr\\": ""
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Tobias Munk",
+ "email": "tobias@diemeisterei.de"
+ },
+ {
+ "name": "Evgeniy Tkachenko",
+ "email": "et.coder@gmail.com"
+ }
+ ],
+ "description": "Backend theme for Yii2 Framework",
+ "keywords": [
+ "AdminLTE",
+ "extension",
+ "yii2"
+ ],
+ "time": "2015-10-07 21:31:26"
+ },
+ {
+ "name": "ezyang/htmlpurifier",
+ "version": "v4.6.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/ezyang/htmlpurifier.git",
+ "reference": "6f389f0f25b90d0b495308efcfa073981177f0fd"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/ezyang/htmlpurifier/zipball/6f389f0f25b90d0b495308efcfa073981177f0fd",
+ "reference": "6f389f0f25b90d0b495308efcfa073981177f0fd",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.2"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-0": {
+ "HTMLPurifier": "library/"
+ },
+ "files": [
+ "library/HTMLPurifier.composer.php"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "LGPL"
+ ],
+ "authors": [
+ {
+ "name": "Edward Z. Yang",
+ "email": "admin@htmlpurifier.org",
+ "homepage": "http://ezyang.com"
+ }
+ ],
+ "description": "Standards compliant HTML filter written in PHP",
+ "homepage": "http://htmlpurifier.org/",
+ "keywords": [
+ "html"
+ ],
+ "time": "2013-11-30 08:25:19"
+ },
+ {
+ "name": "pavlinter/yii2-multifields",
+ "version": "v1.0.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/pavlinter/yii2-multifields.git",
+ "reference": "160f6928c702ace93f7c6873a69e00071cfcdaea"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/pavlinter/yii2-multifields/zipball/160f6928c702ace93f7c6873a69e00071cfcdaea",
+ "reference": "160f6928c702ace93f7c6873a69e00071cfcdaea",
+ "shasum": ""
+ },
+ "require": {
+ "yiisoft/yii2": "*"
+ },
+ "type": "yii2-extension",
+ "autoload": {
+ "psr-4": {
+ "pavlinter\\": ""
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD 3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Pavels Radajevs",
+ "email": "pavlinter@gmail.com"
+ }
+ ],
+ "description": "Yii2: Multi dinamic fields",
+ "keywords": [
+ "dinamic",
+ "multi",
+ "multifields",
+ "multiinput",
+ "yii2"
+ ],
+ "time": "2015-10-17 05:57:23"
+ },
+ {
+ "name": "rmrevin/yii2-fontawesome",
+ "version": "2.12.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/rmrevin/yii2-fontawesome.git",
+ "reference": "51d33ec9d1d7edab2166f1d42668c1bc8d28c068"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/rmrevin/yii2-fontawesome/zipball/51d33ec9d1d7edab2166f1d42668c1bc8d28c068",
+ "reference": "51d33ec9d1d7edab2166f1d42668c1bc8d28c068",
+ "shasum": ""
+ },
+ "require": {
+ "bower-asset/fontawesome": "4.4.*",
+ "php": ">=5.4.0",
+ "yiisoft/yii2": "2.0.*"
+ },
+ "type": "yii2-extension",
+ "extra": {
+ "asset-installer-paths": {
+ "npm-asset-library": "vendor/npm",
+ "bower-asset-library": "vendor/bower"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "rmrevin\\yii\\fontawesome\\": ""
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Roman Revin",
+ "email": "xgismox@gmail.com",
+ "homepage": "http://rmrevin.ru/"
+ }
+ ],
+ "description": "Asset Bundle for Yii2 with Font Awesome",
+ "keywords": [
+ "asset",
+ "awesome",
+ "bundle",
+ "font",
+ "yii"
+ ],
+ "time": "2015-08-15 16:50:16"
+ },
+ {
+ "name": "swiftmailer/swiftmailer",
+ "version": "v5.4.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/swiftmailer/swiftmailer.git",
+ "reference": "0697e6aa65c83edf97bb0f23d8763f94e3f11421"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/0697e6aa65c83edf97bb0f23d8763f94e3f11421",
+ "reference": "0697e6aa65c83edf97bb0f23d8763f94e3f11421",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.3.3"
+ },
+ "require-dev": {
+ "mockery/mockery": "~0.9.1,<0.9.4"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "5.4-dev"
+ }
+ },
+ "autoload": {
+ "files": [
+ "lib/swift_required.php"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Chris Corbyn"
+ },
+ {
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
+ }
+ ],
+ "description": "Swiftmailer, free feature-rich PHP mailer",
+ "homepage": "http://swiftmailer.org",
+ "keywords": [
+ "email",
+ "mail",
+ "mailer"
+ ],
+ "time": "2015-06-06 14:19:39"
+ },
+ {
+ "name": "yiisoft/yii2",
+ "version": "2.0.6",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/yiisoft/yii2-framework.git",
+ "reference": "f42b2eb80f61992438661b01d0d74c6738e2ff38"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/yiisoft/yii2-framework/zipball/f42b2eb80f61992438661b01d0d74c6738e2ff38",
+ "reference": "f42b2eb80f61992438661b01d0d74c6738e2ff38",
+ "shasum": ""
+ },
+ "require": {
+ "bower-asset/jquery": "2.1.*@stable | 1.11.*@stable",
+ "bower-asset/jquery.inputmask": "3.1.*",
+ "bower-asset/punycode": "1.3.*",
+ "bower-asset/yii2-pjax": ">=2.0.1",
+ "cebe/markdown": "~1.0.0 | ~1.1.0",
+ "ext-mbstring": "*",
+ "ezyang/htmlpurifier": "4.6.*",
+ "lib-pcre": "*",
+ "php": ">=5.4.0",
+ "yiisoft/yii2-composer": "*"
+ },
+ "bin": [
+ "yii"
+ ],
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.0.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "yii\\": ""
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Qiang Xue",
+ "email": "qiang.xue@gmail.com",
+ "homepage": "http://www.yiiframework.com/",
+ "role": "Founder and project lead"
+ },
+ {
+ "name": "Alexander Makarov",
+ "email": "sam@rmcreative.ru",
+ "homepage": "http://rmcreative.ru/",
+ "role": "Core framework development"
+ },
+ {
+ "name": "Maurizio Domba",
+ "homepage": "http://mdomba.info/",
+ "role": "Core framework development"
+ },
+ {
+ "name": "Carsten Brandt",
+ "email": "mail@cebe.cc",
+ "homepage": "http://cebe.cc/",
+ "role": "Core framework development"
+ },
+ {
+ "name": "Timur Ruziev",
+ "email": "resurtm@gmail.com",
+ "homepage": "http://resurtm.com/",
+ "role": "Core framework development"
+ },
+ {
+ "name": "Paul Klimov",
+ "email": "klimov.paul@gmail.com",
+ "role": "Core framework development"
+ }
+ ],
+ "description": "Yii PHP Framework Version 2",
+ "homepage": "http://www.yiiframework.com/",
+ "keywords": [
+ "framework",
+ "yii2"
+ ],
+ "time": "2015-08-05 22:00:30"
+ },
+ {
+ "name": "yiisoft/yii2-bootstrap",
+ "version": "2.0.4",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/yiisoft/yii2-bootstrap.git",
+ "reference": "1b6b1e61cf91c3cdd517d6a7e71d30bb212e4af0"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/yiisoft/yii2-bootstrap/zipball/1b6b1e61cf91c3cdd517d6a7e71d30bb212e4af0",
+ "reference": "1b6b1e61cf91c3cdd517d6a7e71d30bb212e4af0",
+ "shasum": ""
+ },
+ "require": {
+ "bower-asset/bootstrap": "3.3.* | 3.2.* | 3.1.*",
+ "yiisoft/yii2": ">=2.0.4"
+ },
+ "type": "yii2-extension",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.0.x-dev"
+ },
+ "asset-installer-paths": {
+ "npm-asset-library": "vendor/npm",
+ "bower-asset-library": "vendor/bower"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "yii\\bootstrap\\": ""
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Qiang Xue",
+ "email": "qiang.xue@gmail.com"
+ }
+ ],
+ "description": "The Twitter Bootstrap extension for the Yii framework",
+ "keywords": [
+ "bootstrap",
+ "yii2"
+ ],
+ "time": "2015-05-10 22:08:17"
+ },
+ {
+ "name": "yiisoft/yii2-composer",
+ "version": "2.0.3",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/yiisoft/yii2-composer.git",
+ "reference": "ca8d23707ae47d20b0454e4b135c156f6da6d7be"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/yiisoft/yii2-composer/zipball/ca8d23707ae47d20b0454e4b135c156f6da6d7be",
+ "reference": "ca8d23707ae47d20b0454e4b135c156f6da6d7be",
+ "shasum": ""
+ },
+ "require": {
+ "composer-plugin-api": "1.0.0"
+ },
+ "type": "composer-plugin",
+ "extra": {
+ "class": "yii\\composer\\Plugin",
+ "branch-alias": {
+ "dev-master": "2.0.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "yii\\composer\\": ""
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Qiang Xue",
+ "email": "qiang.xue@gmail.com"
+ }
+ ],
+ "description": "The composer plugin for Yii extension installer",
+ "keywords": [
+ "composer",
+ "extension installer",
+ "yii2"
+ ],
+ "time": "2015-03-01 06:22:44"
+ },
+ {
+ "name": "yiisoft/yii2-swiftmailer",
+ "version": "2.0.4",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/yiisoft/yii2-swiftmailer.git",
+ "reference": "4ec435a89e30b203cea99770910fb5499cb3627a"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/yiisoft/yii2-swiftmailer/zipball/4ec435a89e30b203cea99770910fb5499cb3627a",
+ "reference": "4ec435a89e30b203cea99770910fb5499cb3627a",
+ "shasum": ""
+ },
+ "require": {
+ "swiftmailer/swiftmailer": "~5.0",
+ "yiisoft/yii2": ">=2.0.4"
+ },
+ "type": "yii2-extension",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.0.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "yii\\swiftmailer\\": ""
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Paul Klimov",
+ "email": "klimov.paul@gmail.com"
+ }
+ ],
+ "description": "The SwiftMailer integration for the Yii framework",
+ "keywords": [
+ "email",
+ "mail",
+ "mailer",
+ "swift",
+ "swiftmailer",
+ "yii2"
+ ],
+ "time": "2015-05-10 22:12:32"
+ }
+ ],
+ "packages-dev": [
+ {
+ "name": "bower-asset/typeahead.js",
+ "version": "v0.10.5",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/twitter/typeahead.js.git",
+ "reference": "5f198b87d1af845da502ea9df93a5e84801ce742"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/twitter/typeahead.js/zipball/5f198b87d1af845da502ea9df93a5e84801ce742",
+ "reference": "5f198b87d1af845da502ea9df93a5e84801ce742",
+ "shasum": ""
+ },
+ "require": {
+ "bower-asset/jquery": ">=1.7"
+ },
+ "require-dev": {
+ "bower-asset/jasmine-ajax": "~1.3.1",
+ "bower-asset/jasmine-jquery": "~1.5.2",
+ "bower-asset/jquery": "~1.7"
+ },
+ "type": "bower-asset-library",
+ "extra": {
+ "bower-asset-main": "dist/typeahead.bundle.js"
+ }
+ },
+ {
+ "name": "fzaninotto/faker",
+ "version": "v1.5.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/fzaninotto/Faker.git",
+ "reference": "d0190b156bcca848d401fb80f31f504f37141c8d"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/fzaninotto/Faker/zipball/d0190b156bcca848d401fb80f31f504f37141c8d",
+ "reference": "d0190b156bcca848d401fb80f31f504f37141c8d",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.3.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "~4.0",
+ "squizlabs/php_codesniffer": "~1.5"
+ },
+ "suggest": {
+ "ext-intl": "*"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.5.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Faker\\": "src/Faker/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "François Zaninotto"
+ }
+ ],
+ "description": "Faker is a PHP library that generates fake data for you.",
+ "keywords": [
+ "data",
+ "faker",
+ "fixtures"
+ ],
+ "time": "2015-05-29 06:29:14"
+ },
+ {
+ "name": "phpspec/php-diff",
+ "version": "v1.0.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/phpspec/php-diff.git",
+ "reference": "30e103d19519fe678ae64a60d77884ef3d71b28a"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/phpspec/php-diff/zipball/30e103d19519fe678ae64a60d77884ef3d71b28a",
+ "reference": "30e103d19519fe678ae64a60d77884ef3d71b28a",
+ "shasum": ""
+ },
+ "type": "library",
+ "autoload": {
+ "psr-0": {
+ "Diff": "lib/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Chris Boulton",
+ "homepage": "http://github.com/chrisboulton",
+ "role": "Original developer"
+ }
+ ],
+ "description": "A comprehensive library for generating differences between two hashable objects (strings or arrays).",
+ "time": "2013-11-01 13:02:21"
+ },
+ {
+ "name": "yiisoft/yii2-codeception",
+ "version": "2.0.4",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/yiisoft/yii2-codeception.git",
+ "reference": "de5007e7a99359597abbfe1c88dca3ce620061c5"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/yiisoft/yii2-codeception/zipball/de5007e7a99359597abbfe1c88dca3ce620061c5",
+ "reference": "de5007e7a99359597abbfe1c88dca3ce620061c5",
+ "shasum": ""
+ },
+ "require": {
+ "yiisoft/yii2": ">=2.0.4"
+ },
+ "type": "yii2-extension",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.0.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "yii\\codeception\\": ""
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Mark Jebri",
+ "email": "mark.github@yandex.ru"
+ }
+ ],
+ "description": "The Codeception integration for the Yii framework",
+ "keywords": [
+ "codeception",
+ "yii2"
+ ],
+ "time": "2015-05-10 22:08:30"
+ },
+ {
+ "name": "yiisoft/yii2-debug",
+ "version": "2.0.4",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/yiisoft/yii2-debug.git",
+ "reference": "5c7081b2be71c61d3a50d978b31edc3e0b6f2f97"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/yiisoft/yii2-debug/zipball/5c7081b2be71c61d3a50d978b31edc3e0b6f2f97",
+ "reference": "5c7081b2be71c61d3a50d978b31edc3e0b6f2f97",
+ "shasum": ""
+ },
+ "require": {
+ "yiisoft/yii2": ">=2.0.4",
+ "yiisoft/yii2-bootstrap": "*"
+ },
+ "type": "yii2-extension",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.0.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "yii\\debug\\": ""
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Qiang Xue",
+ "email": "qiang.xue@gmail.com"
+ }
+ ],
+ "description": "The debugger extension for the Yii framework",
+ "keywords": [
+ "debug",
+ "debugger",
+ "yii2"
+ ],
+ "time": "2015-05-10 22:08:56"
+ },
+ {
+ "name": "yiisoft/yii2-faker",
+ "version": "2.0.3",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/yiisoft/yii2-faker.git",
+ "reference": "b88ca69ee226a3610b2c26c026c3203d7ac50f6c"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/yiisoft/yii2-faker/zipball/b88ca69ee226a3610b2c26c026c3203d7ac50f6c",
+ "reference": "b88ca69ee226a3610b2c26c026c3203d7ac50f6c",
+ "shasum": ""
+ },
+ "require": {
+ "fzaninotto/faker": "*",
+ "yiisoft/yii2": "*"
+ },
+ "type": "yii2-extension",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.0.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "yii\\faker\\": ""
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Mark Jebri",
+ "email": "mark.github@yandex.ru"
+ }
+ ],
+ "description": "Fixture generator. The Faker integration for the Yii framework.",
+ "keywords": [
+ "Fixture",
+ "faker",
+ "yii2"
+ ],
+ "time": "2015-03-01 06:22:44"
+ },
+ {
+ "name": "yiisoft/yii2-gii",
+ "version": "2.0.4",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/yiisoft/yii2-gii.git",
+ "reference": "e5a023e8779bd774194842ec1b8fb4917cf04007"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/yiisoft/yii2-gii/zipball/e5a023e8779bd774194842ec1b8fb4917cf04007",
+ "reference": "e5a023e8779bd774194842ec1b8fb4917cf04007",
+ "shasum": ""
+ },
+ "require": {
+ "bower-asset/typeahead.js": "0.10.*",
+ "phpspec/php-diff": ">=1.0.2",
+ "yiisoft/yii2": ">=2.0.4",
+ "yiisoft/yii2-bootstrap": "~2.0"
+ },
+ "type": "yii2-extension",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.0.x-dev"
+ },
+ "asset-installer-paths": {
+ "npm-asset-library": "vendor/npm",
+ "bower-asset-library": "vendor/bower"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "yii\\gii\\": ""
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Qiang Xue",
+ "email": "qiang.xue@gmail.com"
+ }
+ ],
+ "description": "The Gii extension for the Yii framework",
+ "keywords": [
+ "code generator",
+ "gii",
+ "yii2"
+ ],
+ "time": "2015-05-10 22:09:31"
+ }
+ ],
+ "aliases": [],
+ "minimum-stability": "stable",
+ "stability-flags": [],
+ "prefer-stable": false,
+ "prefer-lowest": false,
+ "platform": {
+ "php": ">=5.4.0"
+ },
+ "platform-dev": []
+}
diff --git a/console/config/.gitignore b/console/config/.gitignore
new file mode 100644
index 0000000..20da318
--- /dev/null
+++ b/console/config/.gitignore
@@ -0,0 +1,2 @@
+main-local.php
+params-local.php
\ No newline at end of file
diff --git a/console/config/bootstrap.php b/console/config/bootstrap.php
new file mode 100644
index 0000000..b3d9bbc
--- /dev/null
+++ b/console/config/bootstrap.php
@@ -0,0 +1 @@
+ 'app-console',
+ 'basePath' => dirname(__DIR__),
+ 'bootstrap' => ['log'],
+ 'controllerNamespace' => 'console\controllers',
+ 'components' => [
+ 'log' => [
+ 'targets' => [
+ [
+ 'class' => 'yii\log\FileTarget',
+ 'levels' => ['error', 'warning'],
+ ],
+ ],
+ ],
+ ],
+ 'params' => $params,
+];
diff --git a/console/config/params.php b/console/config/params.php
new file mode 100644
index 0000000..7f754b9
--- /dev/null
+++ b/console/config/params.php
@@ -0,0 +1,4 @@
+ 'admin@example.com',
+];
diff --git a/console/controllers/.gitkeep b/console/controllers/.gitkeep
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/console/controllers/.gitkeep
diff --git a/console/migrations/m130524_201442_init.php b/console/migrations/m130524_201442_init.php
new file mode 100644
index 0000000..81a322a
--- /dev/null
+++ b/console/migrations/m130524_201442_init.php
@@ -0,0 +1,34 @@
+db->driverName === 'mysql') {
+ // http://stackoverflow.com/questions/766809/whats-the-difference-between-utf8-general-ci-and-utf8-unicode-ci
+ $tableOptions = 'CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE=InnoDB';
+ }
+
+ $this->createTable('{{%user}}', [
+ 'id' => $this->primaryKey(),
+ 'username' => $this->string()->notNull()->unique(),
+ 'auth_key' => $this->string(32)->notNull(),
+ 'password_hash' => $this->string()->notNull(),
+ 'password_reset_token' => $this->string()->unique(),
+ 'email' => $this->string()->notNull()->unique(),
+
+ 'status' => $this->smallInteger()->notNull()->defaultValue(10),
+ 'created_at' => $this->integer()->notNull(),
+ 'updated_at' => $this->integer()->notNull(),
+ ], $tableOptions);
+ }
+
+ public function down()
+ {
+ $this->dropTable('{{%user}}');
+ }
+}
diff --git a/console/models/.gitkeep b/console/models/.gitkeep
new file mode 100644
index 0000000..72e8ffc
--- /dev/null
+++ b/console/models/.gitkeep
@@ -0,0 +1 @@
+*
diff --git a/console/runtime/.gitignore b/console/runtime/.gitignore
new file mode 100644
index 0000000..c96a04f
--- /dev/null
+++ b/console/runtime/.gitignore
@@ -0,0 +1,2 @@
+*
+!.gitignore
\ No newline at end of file
diff --git a/environments/dev/backend/config/main-local.php b/environments/dev/backend/config/main-local.php
new file mode 100644
index 0000000..d9a8ceb
--- /dev/null
+++ b/environments/dev/backend/config/main-local.php
@@ -0,0 +1,25 @@
+ [
+ 'request' => [
+ // !!! insert a secret key in the following (if it is empty) - this is required by cookie validation
+ 'cookieValidationKey' => '',
+ ],
+ ],
+];
+
+if (!YII_ENV_TEST) {
+ // configuration adjustments for 'dev' environment
+ $config['bootstrap'][] = 'debug';
+ $config['modules']['debug'] = [
+ 'class' => 'yii\debug\Module',
+ ];
+
+ $config['bootstrap'][] = 'gii';
+ $config['modules']['gii'] = [
+ 'class' => 'yii\gii\Module',
+ ];
+}
+
+return $config;
diff --git a/environments/dev/backend/config/params-local.php b/environments/dev/backend/config/params-local.php
new file mode 100644
index 0000000..d0b9c34
--- /dev/null
+++ b/environments/dev/backend/config/params-local.php
@@ -0,0 +1,3 @@
+run();
diff --git a/environments/dev/backend/web/index.php b/environments/dev/backend/web/index.php
new file mode 100644
index 0000000..6038167
--- /dev/null
+++ b/environments/dev/backend/web/index.php
@@ -0,0 +1,18 @@
+run();
diff --git a/environments/dev/common/config/main-local.php b/environments/dev/common/config/main-local.php
new file mode 100644
index 0000000..43db30e
--- /dev/null
+++ b/environments/dev/common/config/main-local.php
@@ -0,0 +1,20 @@
+ [
+ 'db' => [
+ 'class' => 'yii\db\Connection',
+ 'dsn' => 'mysql:host=localhost;dbname=yii2advanced',
+ 'username' => 'root',
+ 'password' => '',
+ 'charset' => 'utf8',
+ ],
+ 'mailer' => [
+ 'class' => 'yii\swiftmailer\Mailer',
+ 'viewPath' => '@common/mail',
+ // send all mails to a file by default. You have to set
+ // 'useFileTransport' to false and configure a transport
+ // for the mailer to send real emails.
+ 'useFileTransport' => true,
+ ],
+ ],
+];
diff --git a/environments/dev/common/config/params-local.php b/environments/dev/common/config/params-local.php
new file mode 100644
index 0000000..d0b9c34
--- /dev/null
+++ b/environments/dev/common/config/params-local.php
@@ -0,0 +1,3 @@
+ ['gii'],
+ 'modules' => [
+ 'gii' => 'yii\gii\Module',
+ ],
+];
diff --git a/environments/dev/console/config/params-local.php b/environments/dev/console/config/params-local.php
new file mode 100644
index 0000000..d0b9c34
--- /dev/null
+++ b/environments/dev/console/config/params-local.php
@@ -0,0 +1,3 @@
+ [
+ 'request' => [
+ // !!! insert a secret key in the following (if it is empty) - this is required by cookie validation
+ 'cookieValidationKey' => '',
+ ],
+ ],
+];
+
+if (!YII_ENV_TEST) {
+ // configuration adjustments for 'dev' environment
+ $config['bootstrap'][] = 'debug';
+ $config['modules']['debug'] = 'yii\debug\Module';
+
+ $config['bootstrap'][] = 'gii';
+ $config['modules']['gii'] = 'yii\gii\Module';
+}
+
+return $config;
diff --git a/environments/dev/frontend/config/params-local.php b/environments/dev/frontend/config/params-local.php
new file mode 100644
index 0000000..d0b9c34
--- /dev/null
+++ b/environments/dev/frontend/config/params-local.php
@@ -0,0 +1,3 @@
+run();
diff --git a/environments/dev/frontend/web/index.php b/environments/dev/frontend/web/index.php
new file mode 100644
index 0000000..6038167
--- /dev/null
+++ b/environments/dev/frontend/web/index.php
@@ -0,0 +1,18 @@
+run();
diff --git a/environments/dev/yii b/environments/dev/yii
new file mode 100644
index 0000000..6f0c6d2
--- /dev/null
+++ b/environments/dev/yii
@@ -0,0 +1,28 @@
+#!/usr/bin/env php
+run();
+exit($exitCode);
diff --git a/environments/index.php b/environments/index.php
new file mode 100644
index 0000000..19c989d
--- /dev/null
+++ b/environments/index.php
@@ -0,0 +1,65 @@
+ [
+ * 'path' => 'directory storing the local files',
+ * 'skipFiles' => [
+ * // list of files that should only copied once and skipped if they already exist
+ * ],
+ * 'setWritable' => [
+ * // list of directories that should be set writable
+ * ],
+ * 'setExecutable' => [
+ * // list of files that should be set executable
+ * ],
+ * 'setCookieValidationKey' => [
+ * // list of config files that need to be inserted with automatically generated cookie validation keys
+ * ],
+ * 'createSymlink' => [
+ * // list of symlinks to be created. Keys are symlinks, and values are the targets.
+ * ],
+ * ],
+ * ];
+ * ```
+ */
+return [
+ 'Development' => [
+ 'path' => 'dev',
+ 'setWritable' => [
+ 'backend/runtime',
+ 'backend/web/assets',
+ 'frontend/runtime',
+ 'frontend/web/assets',
+ ],
+ 'setExecutable' => [
+ 'yii',
+ 'tests/codeception/bin/yii',
+ ],
+ 'setCookieValidationKey' => [
+ 'backend/config/main-local.php',
+ 'frontend/config/main-local.php',
+ ],
+ ],
+ 'Production' => [
+ 'path' => 'prod',
+ 'setWritable' => [
+ 'backend/runtime',
+ 'backend/web/assets',
+ 'frontend/runtime',
+ 'frontend/web/assets',
+ ],
+ 'setExecutable' => [
+ 'yii',
+ ],
+ 'setCookieValidationKey' => [
+ 'backend/config/main-local.php',
+ 'frontend/config/main-local.php',
+ ],
+ ],
+];
diff --git a/environments/prod/backend/config/main-local.php b/environments/prod/backend/config/main-local.php
new file mode 100644
index 0000000..af46ba3
--- /dev/null
+++ b/environments/prod/backend/config/main-local.php
@@ -0,0 +1,9 @@
+ [
+ 'request' => [
+ // !!! insert a secret key in the following (if it is empty) - this is required by cookie validation
+ 'cookieValidationKey' => '',
+ ],
+ ],
+];
diff --git a/environments/prod/backend/config/params-local.php b/environments/prod/backend/config/params-local.php
new file mode 100644
index 0000000..d0b9c34
--- /dev/null
+++ b/environments/prod/backend/config/params-local.php
@@ -0,0 +1,3 @@
+run();
diff --git a/environments/prod/common/config/main-local.php b/environments/prod/common/config/main-local.php
new file mode 100644
index 0000000..84c4d9f
--- /dev/null
+++ b/environments/prod/common/config/main-local.php
@@ -0,0 +1,16 @@
+ [
+ 'db' => [
+ 'class' => 'yii\db\Connection',
+ 'dsn' => 'mysql:host=localhost;dbname=yii2advanced',
+ 'username' => 'root',
+ 'password' => '',
+ 'charset' => 'utf8',
+ ],
+ 'mailer' => [
+ 'class' => 'yii\swiftmailer\Mailer',
+ 'viewPath' => '@common/mail',
+ ],
+ ],
+];
diff --git a/environments/prod/common/config/params-local.php b/environments/prod/common/config/params-local.php
new file mode 100644
index 0000000..d0b9c34
--- /dev/null
+++ b/environments/prod/common/config/params-local.php
@@ -0,0 +1,3 @@
+ [
+ 'request' => [
+ // !!! insert a secret key in the following (if it is empty) - this is required by cookie validation
+ 'cookieValidationKey' => '',
+ ],
+ ],
+];
diff --git a/environments/prod/frontend/config/params-local.php b/environments/prod/frontend/config/params-local.php
new file mode 100644
index 0000000..d0b9c34
--- /dev/null
+++ b/environments/prod/frontend/config/params-local.php
@@ -0,0 +1,3 @@
+run();
diff --git a/environments/prod/yii b/environments/prod/yii
new file mode 100644
index 0000000..1fe0342
--- /dev/null
+++ b/environments/prod/yii
@@ -0,0 +1,28 @@
+#!/usr/bin/env php
+run();
+exit($exitCode);
diff --git a/frontend/assets/AppAsset.php b/frontend/assets/AppAsset.php
new file mode 100644
index 0000000..a436aba
--- /dev/null
+++ b/frontend/assets/AppAsset.php
@@ -0,0 +1,36 @@
+
+ * @since 2.0
+ */
+class AppAsset extends AssetBundle
+{
+ public $basePath = '@webroot';
+ public $baseUrl = '@web';
+ public $css = [
+ 'css/ie.css',
+ 'css/site.css',
+ ];
+ public $js = [
+ 'js/jquery-ui-1.9.2.custom.min.js',
+ 'js/jquery.sliderkit.1.9.2.pack.js',
+ 'js/validate/jquery.validate.min.js',
+ 'js/validate/messages_ru.js',
+ 'js/jquery.maskedinput.min.js',
+ 'js/main.js',
+ ];
+ public $depends = [
+// 'yii\web\YiiAsset',
+// 'yii\bootstrap\BootstrapAsset',
+ ];
+}
diff --git a/frontend/config/.gitignore b/frontend/config/.gitignore
new file mode 100644
index 0000000..20da318
--- /dev/null
+++ b/frontend/config/.gitignore
@@ -0,0 +1,2 @@
+main-local.php
+params-local.php
\ No newline at end of file
diff --git a/frontend/config/bootstrap.php b/frontend/config/bootstrap.php
new file mode 100644
index 0000000..b3d9bbc
--- /dev/null
+++ b/frontend/config/bootstrap.php
@@ -0,0 +1 @@
+ 'app-frontend',
+ 'basePath' => dirname(__DIR__),
+ 'bootstrap' => ['log'],
+ 'controllerNamespace' => 'frontend\controllers',
+ 'components' => [
+ 'user' => [
+ 'identityClass' => 'common\models\User',
+ 'enableAutoLogin' => true,
+ ],
+ 'log' => [
+ 'traceLevel' => YII_DEBUG ? 3 : 0,
+ 'targets' => [
+ [
+ 'class' => 'yii\log\FileTarget',
+ 'levels' => ['error', 'warning'],
+ ],
+ ],
+ ],
+ 'errorHandler' => [
+ 'errorAction' => 'site/error',
+ ],
+ 'request'=>[
+ 'class' => 'common\components\Request',
+ 'web'=> '/frontend/web'
+ ],
+ 'urlManager' => [
+ 'enablePrettyUrl' => true,
+ 'showScriptName' => false,
+ 'rules' => [
+ 'vacancies' => 'site/vacancies',
+ 'contact' => 'site/contact',
+ 'team' => 'site/team',
+ 'team/' => 'site/team',
+ 'login' => 'site/login',
+ 'logout' => 'site/logout',
+ 'services/' => 'site/serviceitem',
+ 'count_form' => 'site/count_form',
+ 'orders/audit' => 'site/auditform',
+ 'orders/audit/' => 'site/auditform',
+ ]
+ ],
+ ],
+ 'params' => $params,
+];
diff --git a/frontend/config/params.php b/frontend/config/params.php
new file mode 100644
index 0000000..7f754b9
--- /dev/null
+++ b/frontend/config/params.php
@@ -0,0 +1,4 @@
+ 'admin@example.com',
+];
diff --git a/frontend/controllers/SiteController.php b/frontend/controllers/SiteController.php
new file mode 100644
index 0000000..1a76d39
--- /dev/null
+++ b/frontend/controllers/SiteController.php
@@ -0,0 +1,315 @@
+ [
+ 'class' => AccessControl::className(),
+ 'only' => ['logout', 'signup'],
+ 'rules' => [
+ [
+ 'actions' => ['signup'],
+ 'allow' => true,
+ 'roles' => ['?'],
+ ],
+ [
+ 'actions' => ['logout'],
+ 'allow' => true,
+ 'roles' => ['@'],
+ ],
+ ],
+ ],
+ 'verbs' => [
+ 'class' => VerbFilter::className(),
+ 'actions' => [
+ 'logout' => ['post'],
+ ],
+ ],
+ ];
+ }
+
+ /**
+ * @inheritdoc
+ */
+ public function actions()
+ {
+ return [
+ 'error' => [
+ 'class' => 'yii\web\ErrorAction',
+ ],
+ 'captcha' => [
+ 'class' => 'yii\captcha\CaptchaAction',
+ 'fixedVerifyCode' => YII_ENV_TEST ? 'testme' : null,
+ ],
+ ];
+ }
+
+ /**
+ * Displays homepage.
+ *
+ * @return mixed
+ */
+ public function actionIndex()
+ {
+ // Get clients
+ $clientsModel = new \frontend\models\Clients();
+ $clients = $clientsModel->find()->all(); //(['visible'=>1]);
+
+ $ordersAuditModel = new \common\models\OrdersAudit();
+
+ return $this->render('frontpage', [
+ 'clients' => $clients,
+ 'ordersauditmodel' => $ordersAuditModel
+ ]);
+ }
+
+ /**
+ * Displays team or team-member page.
+ *
+ * @return mixed
+ */
+ public function actionTeam($id = null)
+ {
+ if (empty($id)) {
+ // Get team members
+ $teamModel = new \frontend\models\Team();
+ $members = $teamModel->find()->all();
+
+ return $this->render( 'team', [
+ 'members' => $members
+ ] );
+ } else {
+ // Get team member
+ $teamModel = new \frontend\models\Team();
+ $data = $teamModel->findOne(['id' => $id]);
+ return $this->render('teamitem', [
+ 'member' => $data
+ ]);
+ }
+ }
+
+ /**
+ * Displays services pages.
+ */
+
+ public function actionServiceitem($name = null)
+ {
+ $ordersAuditModel = new \common\models\OrdersAudit();
+ return $this->render(
+ 'services/'. $name,
+ [
+ 'ordersAuditModel' => $ordersAuditModel
+ ]
+ );
+ }
+
+
+ /**
+ * Displays/action audit form.
+ */
+
+ public function actionAuditform($result = null)
+ {
+ $model = new OrdersAudit();
+
+ if ($result == 'success') {
+ return $this->render(
+ 'orders_audit_success'
+ );
+ }
+
+ if ($model->load(Yii::$app->request->post()) && $model->validate()) {
+ $model->setDefaults();
+ $model->sendEmail('karnovsky.a@gmail.com');
+ $model->save();
+ return $this->redirect(['auditform', 'result' => 'success']);
+ }
+
+ return $this->render(
+ 'orders_audit',
+ [
+ 'model' => $model
+ ]
+ );
+ }
+
+
+ /**
+ * Logs in a user.
+ *
+ * @return mixed
+ */
+ public function actionLogin()
+ {
+ if (!\Yii::$app->user->isGuest) {
+ return $this->goHome();
+ }
+
+ $model = new LoginForm();
+ if ($model->load(Yii::$app->request->post()) && $model->login()) {
+ return $this->goBack();
+ } else {
+ return $this->render('login', [
+ 'model' => $model,
+ ]);
+ }
+ }
+
+ /**
+ * Logs out the current user.
+ *
+ * @return mixed
+ */
+ public function actionLogout()
+ {
+ Yii::$app->user->logout();
+
+ return $this->goHome();
+ }
+
+ /**
+ * Displays contact page.
+ *
+ * @return mixed
+ */
+ public function actionContact()
+ {
+ $model = new ContactForm();
+ if ($model->load(Yii::$app->request->post()) && $model->validate()) {
+ if ($model->sendEmail(Yii::$app->params['adminEmail'])) {
+ Yii::$app->session->setFlash('success', 'Thank you for contacting us. We will respond to you as soon as possible.');
+ } else {
+ Yii::$app->session->setFlash('error', 'There was an error sending email.');
+ }
+
+ return $this->refresh();
+ } else {
+ return $this->render('contact', [
+ 'model' => $model,
+ ]);
+ }
+ }
+
+ /**
+ * Displays vacancies page.
+ *
+ * @return mixed
+ */
+ public function actionVacancies()
+ {
+ // Get clients
+ $clientsModel = new \frontend\models\Clients();
+ $clients = $clientsModel->find()->all(); //(['visible'=>1]);
+ return $this->render('vacancies', [
+ 'clients' => $clients,
+ ]);
+ }
+
+ public function actionCount_form()
+ {
+ if(isset($_GET)){
+ $page = !empty($_GET['p']) ? $_GET['p'] : 'form';
+ $subpage = !empty($_GET['sp']) ? $_GET['sp'] : 'index';
+ $action = !empty($_GET['a']) ? $_GET['a'] : $subpage;
+ include_once __DIR__ . '/../web/count_form/app/data/'. $page .'.php';
+ $class = 'count_form\app\data\\'.$page;
+ $object = new $class();
+ $data = $object->$action();
+ }
+
+ include_once __DIR__ .'count_form/app/view/main_page.php';
+ exit;
+ }
+
+ /**
+ * Signs user up.
+ *
+ * @return mixed
+ */
+ public function actionSignup()
+ {
+ $model = new SignupForm();
+ if ($model->load(Yii::$app->request->post())) {
+ if ($user = $model->signup()) {
+ if (Yii::$app->getUser()->login($user)) {
+ return $this->goHome();
+ }
+ }
+ }
+
+ return $this->render('signup', [
+ 'model' => $model,
+ ]);
+ }
+
+ /**
+ * Requests password reset.
+ *
+ * @return mixed
+ */
+ public function actionRequestPasswordReset()
+ {
+ $model = new PasswordResetRequestForm();
+ if ($model->load(Yii::$app->request->post()) && $model->validate()) {
+ if ($model->sendEmail()) {
+ Yii::$app->session->setFlash('success', 'Check your email for further instructions.');
+
+ return $this->goHome();
+ } else {
+ Yii::$app->session->setFlash('error', 'Sorry, we are unable to reset password for email provided.');
+ }
+ }
+
+ return $this->render('requestPasswordResetToken', [
+ 'model' => $model,
+ ]);
+ }
+
+ /**
+ * Resets password.
+ *
+ * @param string $token
+ * @return mixed
+ * @throws BadRequestHttpException
+ */
+ public function actionResetPassword($token)
+ {
+ try {
+ $model = new ResetPasswordForm($token);
+ } catch (InvalidParamException $e) {
+ throw new BadRequestHttpException($e->getMessage());
+ }
+
+ if ($model->load(Yii::$app->request->post()) && $model->validate() && $model->resetPassword()) {
+ Yii::$app->session->setFlash('success', 'New password was saved.');
+
+ return $this->goHome();
+ }
+
+ return $this->render('resetPassword', [
+ 'model' => $model,
+ ]);
+ }
+}
diff --git a/frontend/models/Clients.php b/frontend/models/Clients.php
new file mode 100755
index 0000000..6012466
--- /dev/null
+++ b/frontend/models/Clients.php
@@ -0,0 +1,66 @@
+ 200],
+ [['logo', 'link'], 'string', 'max' => 255]
+ ];
+ }
+
+ /**
+ * @inheritdoc
+ */
+ public function attributeLabels()
+ {
+ return [
+ 'id' => Yii::t('app', 'ID'),
+ 'title' => Yii::t('app', 'Title'),
+ 'description' => Yii::t('app', 'Description'),
+ 'logo' => Yii::t('app', 'Logo'),
+ 'link' => Yii::t('app', 'Link'),
+ 'visible' => Yii::t('app', 'Visible'),
+ 'position' => Yii::t('app', 'Position'),
+ ];
+ }
+
+ /**
+ * @inheritdoc
+ * @return ClientsQuery the active query used by this AR class.
+ */
+ public static function find()
+ {
+ return new ClientsQuery(get_called_class());
+ }
+}
diff --git a/frontend/models/ClientsQuery.php b/frontend/models/ClientsQuery.php
new file mode 100755
index 0000000..6a3f034
--- /dev/null
+++ b/frontend/models/ClientsQuery.php
@@ -0,0 +1,35 @@
+andWhere('[[status]]=1');
+ return $this;
+ }*/
+
+ /**
+ * @inheritdoc
+ * @return Clients[]|array
+ */
+ public function all($db = null)
+ {
+ return parent::all($db);
+ }
+
+ /**
+ * @inheritdoc
+ * @return Clients|array|null
+ */
+ public function one($db = null)
+ {
+ return parent::one($db);
+ }
+}
\ No newline at end of file
diff --git a/frontend/models/ContactForm.php b/frontend/models/ContactForm.php
new file mode 100755
index 0000000..613abb5
--- /dev/null
+++ b/frontend/models/ContactForm.php
@@ -0,0 +1,59 @@
+ 'Verification Code',
+ ];
+ }
+
+ /**
+ * Sends an email to the specified email address using the information collected by this model.
+ *
+ * @param string $email the target email address
+ * @return boolean whether the email was sent
+ */
+ public function sendEmail($email)
+ {
+ return Yii::$app->mailer->compose()
+ ->setTo($email)
+ ->setFrom([$this->email => $this->name])
+ ->setSubject($this->subject)
+ ->setTextBody($this->body)
+ ->send();
+ }
+}
diff --git a/frontend/models/PasswordResetRequestForm.php b/frontend/models/PasswordResetRequestForm.php
new file mode 100755
index 0000000..20c6810
--- /dev/null
+++ b/frontend/models/PasswordResetRequestForm.php
@@ -0,0 +1,60 @@
+ 'trim'],
+ ['email', 'required'],
+ ['email', 'email'],
+ ['email', 'exist',
+ 'targetClass' => '\common\models\User',
+ 'filter' => ['status' => User::STATUS_ACTIVE],
+ 'message' => 'There is no user with such email.'
+ ],
+ ];
+ }
+
+ /**
+ * Sends an email with a link, for resetting the password.
+ *
+ * @return boolean whether the email was send
+ */
+ public function sendEmail()
+ {
+ /* @var $user User */
+ $user = User::findOne([
+ 'status' => User::STATUS_ACTIVE,
+ 'email' => $this->email,
+ ]);
+
+ if ($user) {
+ if (!User::isPasswordResetTokenValid($user->password_reset_token)) {
+ $user->generatePasswordResetToken();
+ }
+
+ if ($user->save()) {
+ return \Yii::$app->mailer->compose(['html' => 'passwordResetToken-html', 'text' => 'passwordResetToken-text'], ['user' => $user])
+ ->setFrom([\Yii::$app->params['supportEmail'] => \Yii::$app->name . ' robot'])
+ ->setTo($this->email)
+ ->setSubject('Password reset for ' . \Yii::$app->name)
+ ->send();
+ }
+ }
+
+ return false;
+ }
+}
diff --git a/frontend/models/ResetPasswordForm.php b/frontend/models/ResetPasswordForm.php
new file mode 100755
index 0000000..dd48f52
--- /dev/null
+++ b/frontend/models/ResetPasswordForm.php
@@ -0,0 +1,65 @@
+_user = User::findByPasswordResetToken($token);
+ if (!$this->_user) {
+ throw new InvalidParamException('Wrong password reset token.');
+ }
+ parent::__construct($config);
+ }
+
+ /**
+ * @inheritdoc
+ */
+ public function rules()
+ {
+ return [
+ ['password', 'required'],
+ ['password', 'string', 'min' => 6],
+ ];
+ }
+
+ /**
+ * Resets password.
+ *
+ * @return boolean if password was reset.
+ */
+ public function resetPassword()
+ {
+ $user = $this->_user;
+ $user->setPassword($this->password);
+ $user->removePasswordResetToken();
+
+ return $user->save(false);
+ }
+}
diff --git a/frontend/models/SignupForm.php b/frontend/models/SignupForm.php
new file mode 100755
index 0000000..e83963b
--- /dev/null
+++ b/frontend/models/SignupForm.php
@@ -0,0 +1,59 @@
+ 'trim'],
+ ['username', 'required'],
+ ['username', 'unique', 'targetClass' => '\common\models\User', 'message' => 'This username has already been taken.'],
+ ['username', 'string', 'min' => 2, 'max' => 255],
+
+ ['email', 'filter', 'filter' => 'trim'],
+ ['email', 'required'],
+ ['email', 'email'],
+ ['email', 'string', 'max' => 255],
+ ['email', 'unique', 'targetClass' => '\common\models\User', 'message' => 'This email address has already been taken.'],
+
+ ['password', 'required'],
+ ['password', 'string', 'min' => 6],
+ ];
+ }
+
+ /**
+ * Signs user up.
+ *
+ * @return User|null the saved model or null if saving fails
+ */
+ public function signup()
+ {
+ if ($this->validate()) {
+ $user = new User();
+ $user->username = $this->username;
+ $user->email = $this->email;
+ $user->setPassword($this->password);
+ $user->generateAuthKey();
+ if ($user->save()) {
+ return $user;
+ }
+ }
+
+ return null;
+ }
+}
diff --git a/frontend/models/Team.php b/frontend/models/Team.php
new file mode 100755
index 0000000..d4f2c16
--- /dev/null
+++ b/frontend/models/Team.php
@@ -0,0 +1,157 @@
+ 150],
+ [['email', 'soc_vk', 'soc_fb', 'soc_tw', 'soc_li', 'photo', 'photo_big'], 'string', 'max' => 255]
+ ];
+ }
+
+ /**
+ * @inheritdoc
+ */
+ public function attributeLabels()
+ {
+ return [
+ 'id' => Yii::t('app', 'ID'),
+ 'department_id' => Yii::t('app', 'Department ID'),
+ 'user_id' => Yii::t('app', 'User ID'),
+ 'name' => Yii::t('app', 'Name'),
+ 'name2' => Yii::t('app', 'Name2'),
+ 'email' => Yii::t('app', 'Email'),
+ 'job' => Yii::t('app', 'Job'),
+ 'zodiac' => Yii::t('app', 'Zodiac'),
+ 'iq' => Yii::t('app', 'Iq'),
+ 'soc_vk' => Yii::t('app', 'Soc Vk'),
+ 'soc_fb' => Yii::t('app', 'Soc Fb'),
+ 'soc_tw' => Yii::t('app', 'Soc Tw'),
+ 'soc_li' => Yii::t('app', 'Soc Li'),
+ 'interests_caption' => Yii::t('app', 'Interests Caption'),
+ 'skils_caption' => Yii::t('app', 'Skils Caption'),
+ 'books_caption' => Yii::t('app', 'Books Caption'),
+ 'films_caption' => Yii::t('app', 'Films Caption'),
+ 'description' => Yii::t('app', 'Description'),
+ 'photo' => Yii::t('app', 'Photo'),
+ 'photo_big' => Yii::t('app', 'Photo Big'),
+ 'visible' => Yii::t('app', 'Visible'),
+ ];
+ }
+
+ /**
+ * @return \yii\db\ActiveQuery
+ */
+ public function getUser()
+ {
+ return $this->hasOne(User::className(), ['id' => 'user_id']);
+ }
+
+ /**
+ * @return \yii\db\ActiveQuery
+ */
+ public function getDepartment()
+ {
+ return $this->hasOne(Departments::className(), ['id' => 'department_id']);
+ }
+
+ /**
+ * @return \yii\db\ActiveQuery
+ */
+ public function getTeamFilms()
+ {
+ return $this->hasMany(TeamFilms::className(), ['team_id' => 'id']);
+ }
+
+ /**
+ * @return \yii\db\ActiveQuery
+ */
+ public function getTeamBooks()
+ {
+ return $this->hasMany(TeamBooks::className(), ['team_id' => 'id']);
+ }
+
+ /**
+ * @return \yii\db\ActiveQuery
+ */
+ public function getTeamHumors()
+ {
+ return $this->hasMany(TeamHumors::className(), ['team_id' => 'id']);
+ }
+
+ /**
+ * @return \yii\db\ActiveQuery
+ */
+ public function getTeamInterests()
+ {
+ return $this->hasMany(TeamInterests::className(), ['team_id' => 'id']);
+ }
+
+ /**
+ * @return \yii\db\ActiveQuery
+ */
+ public function getTeamSkils()
+ {
+ return $this->hasMany(TeamSkils::className(), ['team_id' => 'id']);
+ }
+
+ /**
+ * @inheritdoc
+ * @return TeamQuery the active query used by this AR class.
+ */
+ public static function find()
+ {
+ return new TeamQuery(get_called_class());
+ }
+}
diff --git a/frontend/models/TeamBooks.php b/frontend/models/TeamBooks.php
new file mode 100644
index 0000000..387572b
--- /dev/null
+++ b/frontend/models/TeamBooks.php
@@ -0,0 +1,49 @@
+ 120]
+ ];
+ }
+
+ /**
+ * @inheritdoc
+ */
+ public function attributeLabels()
+ {
+ return [
+ 'id' => Yii::t('app', 'ID'),
+ 'team_id' => Yii::t('app', 'Team ID'),
+ 'title' => Yii::t('app', 'Title'),
+ 'cover' => Yii::t('app', 'Cover'),
+ ];
+ }
+}
diff --git a/frontend/models/TeamFilms.php b/frontend/models/TeamFilms.php
new file mode 100644
index 0000000..66b45b0
--- /dev/null
+++ b/frontend/models/TeamFilms.php
@@ -0,0 +1,60 @@
+ 120],
+ [['cover'], 'string', 'max' => 255]
+ ];
+ }
+
+ /**
+ * @inheritdoc
+ */
+ public function attributeLabels()
+ {
+ return [
+ 'id' => Yii::t('app', 'ID'),
+ 'team_id' => Yii::t('app', 'Team ID'),
+ 'title' => Yii::t('app', 'Title'),
+ 'cover' => Yii::t('app', 'Cover'),
+ ];
+ }
+
+ /**
+ * @return \yii\db\ActiveQuery
+ */
+ public function getTeam()
+ {
+ return $this->hasOne(Team::className(), ['id' => 'team_id']);
+ }
+}
diff --git a/frontend/models/TeamHumors.php b/frontend/models/TeamHumors.php
new file mode 100644
index 0000000..bcb94ef
--- /dev/null
+++ b/frontend/models/TeamHumors.php
@@ -0,0 +1,57 @@
+ Yii::t('app', 'ID'),
+ 'team_id' => Yii::t('app', 'Team ID'),
+ 'body' => Yii::t('app', 'Body'),
+ ];
+ }
+
+ /**
+ * @return \yii\db\ActiveQuery
+ */
+ public function getTeam()
+ {
+ return $this->hasOne(Team::className(), ['id' => 'team_id']);
+ }
+}
diff --git a/frontend/models/TeamInterests.php b/frontend/models/TeamInterests.php
new file mode 100644
index 0000000..749d978
--- /dev/null
+++ b/frontend/models/TeamInterests.php
@@ -0,0 +1,69 @@
+ 120]
+ ];
+ }
+
+ /**
+ * @inheritdoc
+ */
+ public function attributeLabels()
+ {
+ return [
+ 'id' => Yii::t('app', 'ID'),
+ 'team_id' => Yii::t('app', 'Team ID'),
+ 'title' => Yii::t('app', 'Title'),
+ 'value' => Yii::t('app', 'Value'),
+ ];
+ }
+
+ /**
+ * @return \yii\db\ActiveQuery
+ */
+ public function getTeam()
+ {
+ return $this->hasOne(Team::className(), ['id' => 'team_id']);
+ }
+
+ /**
+ * @inheritdoc
+ * @return TeamInterestsQuery the active query used by this AR class.
+ */
+ public static function find()
+ {
+ return new TeamInterestsQuery(get_called_class());
+ }
+}
diff --git a/frontend/models/TeamInterestsQuery.php b/frontend/models/TeamInterestsQuery.php
new file mode 100644
index 0000000..dc54862
--- /dev/null
+++ b/frontend/models/TeamInterestsQuery.php
@@ -0,0 +1,35 @@
+andWhere('[[status]]=1');
+ return $this;
+ }*/
+
+ /**
+ * @inheritdoc
+ * @return TeamInterests[]|array
+ */
+ public function all($db = null)
+ {
+ return parent::all($db);
+ }
+
+ /**
+ * @inheritdoc
+ * @return TeamInterests|array|null
+ */
+ public function one($db = null)
+ {
+ return parent::one($db);
+ }
+}
\ No newline at end of file
diff --git a/frontend/models/TeamQuery.php b/frontend/models/TeamQuery.php
new file mode 100755
index 0000000..739a12f
--- /dev/null
+++ b/frontend/models/TeamQuery.php
@@ -0,0 +1,35 @@
+andWhere('[[status]]=1');
+ return $this;
+ }*/
+
+ /**
+ * @inheritdoc
+ * @return Team[]|array
+ */
+ public function all($db = null)
+ {
+ return parent::all($db);
+ }
+
+ /**
+ * @inheritdoc
+ * @return Team|array|null
+ */
+ public function one($db = null)
+ {
+ return parent::one($db);
+ }
+}
\ No newline at end of file
diff --git a/frontend/models/TeamSkils.php b/frontend/models/TeamSkils.php
new file mode 100644
index 0000000..08fd36f
--- /dev/null
+++ b/frontend/models/TeamSkils.php
@@ -0,0 +1,60 @@
+ 120]
+ ];
+ }
+
+ /**
+ * @inheritdoc
+ */
+ public function attributeLabels()
+ {
+ return [
+ 'id' => Yii::t('app', 'ID'),
+ 'team_id' => Yii::t('app', 'Team ID'),
+ 'title' => Yii::t('app', 'Title'),
+ 'value' => Yii::t('app', 'Value'),
+ ];
+ }
+
+ /**
+ * @return \yii\db\ActiveQuery
+ */
+ public function getTeam()
+ {
+ return $this->hasOne(Team::className(), ['id' => 'team_id']);
+ }
+}
diff --git a/frontend/runtime/.gitignore b/frontend/runtime/.gitignore
new file mode 100644
index 0000000..c96a04f
--- /dev/null
+++ b/frontend/runtime/.gitignore
@@ -0,0 +1,2 @@
+*
+!.gitignore
\ No newline at end of file
diff --git a/frontend/views/blocks/clients.php b/frontend/views/blocks/clients.php
new file mode 100644
index 0000000..c40f145
--- /dev/null
+++ b/frontend/views/blocks/clients.php
@@ -0,0 +1,34 @@
+
+
+
+
Ðаши клиенты
+
У Ð½Ð°Ñ ÐºÐ°Ð¶Ð´Ñ‹Ð¹ клиент — любимый
+
+
+
+
+
\ No newline at end of file
diff --git a/frontend/views/blocks/orders-audit.php b/frontend/views/blocks/orders-audit.php
new file mode 100644
index 0000000..710f64b
--- /dev/null
+++ b/frontend/views/blocks/orders-audit.php
@@ -0,0 +1,30 @@
+
+ '/orders/audit'])?>
+
+
+//= $form->field($model, 'phone')->textInput(['maxlenth' => 7, 'placeholder' => 'Телефон'])?>
+
+//= $form->field($model, 'email')->textInput(['maxlenth' => true, 'placeholder' => 'Email'])?>
+
+//= $form->field($model, 'comment')->textarea(['rows' => 10, 'cols' => 8, 'placeholder' => 'Укажите, пожалуйÑта, ÑÑылку на Ñайт и уÑлугу, ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ð²Ð°Ñ Ð¸Ð½Ñ‚ÐµÑ€ÐµÑует.'])?>
+
+
+
+
+
+
+
+
+
+
+
+ = Html::submitButton('Получить аудит беÑплатно', ['class' => 'form-submit'])?>
+
+
+
+
+
+
\ No newline at end of file
diff --git a/frontend/views/blocks/portfolio.php b/frontend/views/blocks/portfolio.php
new file mode 100644
index 0000000..29ca255
--- /dev/null
+++ b/frontend/views/blocks/portfolio.php
@@ -0,0 +1,291 @@
+
+
+
+
Портфолио
+
УÑпехи , которыми мы гордимÑÑ
+
+
+
+
+
+
+
+
Один из ведущих интернет-порталов «Цензор.нет» оÑнован в 2004 году и входит в ТОП-3 новоÑтных Ñайтов Украины.
+
+
+
+
+
+
+
+
+
+
+ СМИ Ñайтов Украины
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ПоÑещений из поиÑка в меÑÑц
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Глубина проÑмотра из поиÑка
+
+
+
+
+
+
+
+
+
+
+
+
+
«ПрофеÑійне наÑіннÑ» один из крупнейших на украинÑком рынке оптовых продавцов овощных и цветочных ÑемÑн, а также удобрений и газонных трав.
+
+
+
+
+
+
+
+
+
+
+
+ 100% Ð¸Ð½Ñ‚ÐµÐ³Ñ€Ð°Ñ†Ð¸Ñ Ñ Ð¿Ñ€Ð¾Ð´Ð°Ð¶Ð°Ð¼Ð¸
+
+
+
+
+
+
+
+
+
+
+
+
+
+ СобÑÑ‚Ð²ÐµÐ½Ð½Ð°Ñ CMS online-marketing friendly
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Глубина проÑмотра Ñайта
+
+
+
+
+
+
+
+
+
+
+
+
+
«Укравтодор» гоÑударÑтвенное агентÑтво автомобильных дорог Украины обеÑпечивает реализацию гоÑударÑтвенной политики в Ñфере дорожного хозÑйÑтва и ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð°Ð²Ñ‚Ð¾Ð¼Ð¾Ð±Ð¸Ð»ÑŒÐ½Ñ‹Ð¼Ð¸ дорогами.
+
+
+
+
+
+
+
+
+
+
+ Онлайн-камер работает на карте
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Ðовых дефектов за неделю в обработку
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Ð˜Ð½Ñ‚ÐµÐ³Ñ€Ð°Ñ†Ð¸Ñ Ð²Ð·Ð°Ð¸Ð¼Ð¾Ð´ÐµÐ¹ÑÑ‚Ð²Ð¸Ñ Ñ Ð³Ñ€Ð°Ð¶Ð´Ð°Ð½Ð°Ð¼Ð¸
+
+
+
+
+
+
+
+
+
+
+
+
+
Интернет-магазин «ЕкÑтрем Стайл» крупнейший в Украине онлайн-продавец товаров и Ð¾Ð±Ð¾Ñ€ÑƒÐ´Ð¾Ð²Ð°Ð½Ð¸Ñ Ð´Ð»Ñ Ð²Ñех видов Ñпорта.
+
+
+
+
+
+
+
+
+
+
+ Лидирующих позиций в тематике
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Разделов в продвижении
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Показов рекламы в Украине в меÑÑц
+
+
+
+
+
+
+
+
+
+
+
+
+
ÐšÐ¾Ð¼Ð¿Ð°Ð½Ð¸Ñ Â«ÐœÐµÐ´Ñ‚ÐµÑ…Ð½Ð¸ÐºÐ°Â» более 17 лет работает на рынке медицинÑких товаров Украины и предоÑтавлÑет широкий выбор медицинÑкой техники и товаров Ð´Ð»Ñ ÐºÑ€Ð°Ñоты и здоровьÑ.
+
+
+
+
+
+
+
+
+
+
+ Топ-позиций в прайÑагрегаторах
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Показатель конверÑий Ñайта
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ROI в Google.Adwords
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/frontend/views/blocks/reviews.php b/frontend/views/blocks/reviews.php
new file mode 100644
index 0000000..46950ee
--- /dev/null
+++ b/frontend/views/blocks/reviews.php
@@ -0,0 +1,74 @@
+
+
+
+
ÐÐ°Ñ Ñ€ÐµÐºÐ¾Ð¼ÐµÐ½Ð´ÑƒÑŽÑ‚
+
За результаты , а не краÑивые отчеты
+
+
+
+
+
+
+
+
+
Ð¡Ð¾Ð»Ð¾Ð¼Ñ–Ñ Ð¡Ð¸Ð²Ð¸Ðº
+
Маркетинг-менеджер
+
+ extremstyle.ua
+
+
+
+
+
ÐšÐ¾Ð¼Ð¿Ð°Ð½Ð¸Ñ Â«ArtWeb» Ñопровождает Ð½Ð°Ñ Ñ Ñамого начала деÑтельноÑти в Ñети интернет. Ð Ñто уже более деÑÑти лет. ДолгоÑрочноÑть ÑотрудничеÑтва ÑвлÑетÑÑ Ð»ÑƒÑ‡ÑˆÐ¸Ð¼ показателем его уÑпешноÑти и Ð²Ð·Ð°Ð¸Ð¼Ð¾Ð¿Ð¾Ð½Ð¸Ð¼Ð°Ð½Ð¸Ñ Ð½Ð° пути Ñ€ÐµÑˆÐµÐ½Ð¸Ñ Ð²Ð¾Ð·Ð½Ð¸ÐºÐ°ÑŽÑ‰Ð¸Ñ… задач и целей. ЯвлÑÑÑÑŒ Ñоздателем наших Ñайтов, ÐºÐ¾Ð¼Ð¿Ð°Ð½Ð¸Ñ Â«ArtWeb» обеÑпечивает не только их беÑперебойное техничеÑкое обÑлуживание и лидирующие позиции, но и полное ÑоответÑтвие новейшим тенденциÑм в интернет-технологиÑÑ…. ÐарÑду Ñ Ñ€ÐµÑˆÐµÐ½Ð¸ÐµÐ¼ наших текущих задач, ÑпециалиÑты «ArtWeb» поÑтоÑнно предлагают немного больше, чем то, Ñ Ñ‡ÐµÐ¼ мы обратилиÑÑŒ, то еÑть решение задач более выÑокого уровнÑ. Внедрение, казалоÑÑŒ бы, фантаÑтичеÑких замыÑлов в развитие Ñайта, иногда опережает даже Ñамое Ñмелое планирование.
+
Важным аÑпектом нашего ÑотрудничеÑтва Ñ Â«ArtWeb» ÑвлÑетÑÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾Ñть целенаправленного ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÐºÐ»Ð¸ÐµÐ½Ñ‚Ñкой базой и Ð¾Ð¿Ñ‚Ð¸Ð¼Ð¸Ð·Ð°Ñ†Ð¸Ñ ÐµÐµ не только количеÑтвенных, но и качеÑтвенных показателей, что непоÑредÑтвенно влиÑет на роÑÑ‚ прибыли нашей компании. ОтветÑтвенноÑть, гибкоÑть, умение работать на результат, креативноÑть мышлениÑ, оперативное реагирование на вÑе наши запроÑÑ‹, Ð¿Ð¾Ð»Ð½Ð°Ñ Ð¾ÑведомленноÑть обо вÑем проиÑходÑщем на рынке новейших интернет-технологий и отчаÑти их авторÑÐºÐ°Ñ Ñ€Ð°Ð·Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ° – отличительные характериÑтики нашего надежного партнера – компании «ArtWeb».
+
Ðа протÑжении вÑего периода ÑотрудничеÑтва у Ð½Ð°Ñ Ð½Ðµ было повода уÑомнитьÑÑ Ð² том, что в «ArtWeb» работают лучшие web-ÑпециалиÑты. СотрудничеÑтво Ñ Â«ArtWeb» ÑвлÑетÑÑ Ð²Ð°Ð¶Ð½Ð¾Ð¹ ÑоÑтавлÑющей лидерÑтва в Ñегменте нашей деÑтельноÑти.
+
+
+
+
+
+
+
Сергей Левицкий
+
ПреÑÑ-Ñекретарь
+
+ ukravtodor.gov.ua
+
+
+
+
+
Укравтодор Ñотрудничает Ñ ÐºÐ¾Ð¼Ð¿Ð°Ð½Ð¸ÐµÐ¹ «ArtWeb» уже около года, в течение которого было реализовано неÑколько Ñложнейших веб-проектов - в кратчайший Ñрок Ñоздана Ð½Ð¾Ð²Ð°Ñ Ð²ÐµÑ€ÑÐ¸Ñ Ð¾Ñ„Ð¸Ñ†Ð¸Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ веб-Ñайта ГоÑагентÑва автомобильных дорог Украины, а также Ñ€Ñд интерактивных веб-приложений, информирующих о ÑоÑтоÑнии проезда и качеÑтве дорожного покрытиÑ.
+
С Ñамого начала ÑовмеÑтной работы ÑпециалиÑты компании продемонÑтрировали Ñвой выÑокий профеÑÑионализм, гибкоÑть, и оперативноÑть в решении вÑех возникающих вопроÑов, что позволило модернизировать официальное интернет-предÑтавительÑтво Укравтодора за рекордно короткий Ñрок - 3 меÑÑца. Ð’ то Ð²Ñ€ÐµÐ¼Ñ ÐºÐ°Ðº предыдущую верÑию веб-Ñайта, уÑтаревшую и не функциональную, Ñ€Ñд других компаний-разработчиков пыталиÑÑŒ уÑовершенÑтвовать на протÑжении 9 лет.
+
Ðтот уÑпешный опыт продемонÑтрировал ÑффективноÑть ÑотрудничеÑтва Ñ ÐºÐ¾Ð¼Ð¿Ð°Ð½Ð¸ÐµÐ¹ «ArtWeb» и потому вÑе поÑледующие интернет- проекты Укравтодора были переданы в разработку именно ей.
+
СпаÑибо руководÑтву и коллективу компании за понимание и поддержку в решении Ñложных и, как правило, чрезвычайно оперативных задач.
+
ПреÑÑ-Ñлужба Укравтодора
+
+
+
+
+
+
+
Ðндрей Богатырь
+
ИÑполнительный менеджер проекта
+
+ censor.net.ua
+
+
+
+
+
Мы обратилиÑÑŒ к ArtWeb Ñ Ñ†ÐµÐ»ÑŒÑŽ улучшить качеÑтво индекÑации Ñайта поиÑковыми ÑиÑтемами и увеличить трафик от ключевых поиÑковых операторов. Ð”Ð»Ñ Ñтого «ArtWeb» нужно было провеÑти анализ наших недоработок по оптимизации и предоÑтавить план уÑовершенÑÑ‚Ð²Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸ Ð¿Ñ€Ð¾Ð´Ð²Ð¸Ð¶ÐµÐ½Ð¸Ñ Ñайта. Главной целью было добитьÑÑ ÑƒÐ²ÐµÐ»Ð¸Ñ‡ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¸Ñ‚Ð¾ÐºÐ° трафика из поиÑковых ÑиÑтем до ÑƒÑ€Ð¾Ð²Ð½Ñ Ð±Ð¾Ð»ÐµÐµ 50 тыÑ. переходов в Ñутки, в итоге через год поÑле Ð¿Ñ€Ð¾Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ñ€Ð°Ð±Ð¾Ñ‚ кумулÑтивный Ñффект дал приток трафика более 200 тыÑÑч переходов в Ñутки.
+
Благодарим «ArtWeb» за Ñлаженную и прозрачную ÑиÑтему по взаимодейÑтвию в процеÑÑе работы. Результат ÑотрудничеÑтва Ñ Â«ArtWeb» полноÑтью оправдал ожиданиÑ. Рекомендую вÑем Ñту компанию как профеÑÑионалов в облаÑти Ð¿Ñ€Ð¾Ð´Ð²Ð¸Ð¶ÐµÐ½Ð¸Ñ Ñайта.
+
+
+
+
+
+
+
diff --git a/frontend/views/blocks/services.php b/frontend/views/blocks/services.php
new file mode 100644
index 0000000..d06301d
--- /dev/null
+++ b/frontend/views/blocks/services.php
@@ -0,0 +1,12 @@
+
+
\ No newline at end of file
diff --git a/frontend/views/layouts/main.php b/frontend/views/layouts/main.php
new file mode 100644
index 0000000..6830c8a
--- /dev/null
+++ b/frontend/views/layouts/main.php
@@ -0,0 +1,183 @@
+
+beginPage() ?>
+
+
+
+
+
+
+
+ = Html::csrfMetaTags() ?>
+ = Html::encode($this->title) ?>
+
+ head() ?>
+
+
+
+beginBody() ?>
+
+
+
+
+
+
+ = $content?>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+endBody() ?>
+
+
+
+endPage() ?>
diff --git a/frontend/views/site/contact.php b/frontend/views/site/contact.php
new file mode 100644
index 0000000..0762e73
--- /dev/null
+++ b/frontend/views/site/contact.php
@@ -0,0 +1,328 @@
+title = 'Контакты';
+$this->params['breadcrumbs'][] = $this->title;
+
+$this->registerCssFile('css/contact.css');
+$this->registerJsFile('js/contact.js');
+?>
+
+
+
+
+
diff --git a/frontend/views/site/error.php b/frontend/views/site/error.php
new file mode 100644
index 0000000..0ba2574
--- /dev/null
+++ b/frontend/views/site/error.php
@@ -0,0 +1,27 @@
+title = $name;
+?>
+
+
+
= Html::encode($this->title) ?>
+
+
+ = nl2br(Html::encode($message)) ?>
+
+
+
+ The above error occurred while the Web server was processing your request.
+
+
+ Please contact us if you think this is a server error. Thank you.
+
+
+
diff --git a/frontend/views/site/frontpage.php b/frontend/views/site/frontpage.php
new file mode 100644
index 0000000..6bc39a2
--- /dev/null
+++ b/frontend/views/site/frontpage.php
@@ -0,0 +1,244 @@
+
+
+
+
+
+
+
+
+
С 2003 года на рынке
+
+
+
+
+
+
Индивидуальный подход к каждому клиенту
+
+
+
+
+
+
Ðаши клиенты в топе более 5 лет
+
+
+
+
С нами ваш Ñайт
+
+ ЛюбÑÑ‚ поиÑковые ÑиÑтемы
+ БыÑтро развиваетÑÑ
+ ПриноÑит доход
+
+
+
+
+
+
+
+
+
+
УÑлуги
+
ПрофеÑÑионального онлайн-маркетинга
+
+
+
+
+
+
+
+
+
+
Продвижение Ñайта в органичеÑкой выдаче поиÑковых ÑиÑтем.
+
+
+
+
+
+
+
+
ÐаÑтройка и ведение рекламных кампаний в Google.Adwords и Yandex.Direct.
+
+
+
+
+
+
+
ÐаÑтройка интеграции и ведение рекламных кампаний в прайÑгенераторах, тизерках, Ñоциальной таргетинговой рекламе.
+
+
+
+
+
+
+
Ð˜Ð½Ñ‚ÐµÐ³Ñ€Ð°Ñ†Ð¸Ñ Ð²Ð°ÑˆÐµÐ³Ð¾ Ñайта Ñ CPA-партнерÑкими ÑетÑми и проведение активноÑтей в них.
+
+
+
+
+
+
+
+
+
+
+
+
Создание, ведение и продвижение групп в Ñоциальных ÑетÑÑ….
+
+
+
+
+
+
+
ÐаÑтройка триггерной раÑÑылки Ð´Ð»Ñ Ñ€Ð°Ð·Ð½Ñ‹Ñ… Ñобытий и ÑоÑтавление плана информационных пиÑем.
+
+
+
+
+
+
+
Создание и продвижение полезных материалов (Ñтаттей, инфографики, видео) Ð´Ð»Ñ Ð»Ð¾Ñльной аудитории.
+
+
+
+
+
+
+
Работа над репутацией в интернете.
+
+
+
+
+
+
+
+
+
+
+
+
Сайты-визитки, корпоративные Ñайты, интернет-магазины Ñ Ð²Ñ‹Ñокой конверÑией, которые любÑÑ‚ поиÑковые ÑиÑтемы.
+
+
+
+
+
+
+
Ð˜Ð½Ñ‚ÐµÐ³Ñ€Ð°Ñ†Ð¸Ñ Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð¾Ð² Ñ Ð²Ð½ÐµÑˆÐ½Ð¸Ð¼Ð¸ данными и наÑтройки CRM-ÑиÑтем либо Ñоздание новых
+
+
+
+
+
+
+
УÑлуги веб-дизайнеров, которые знают, что такое юзабилити и конверÑии.
+
+
+
+
+
+
+
+
+
+
+
+
Работа над Ñргономикой Ñайта и роÑтом конверÑий на нем. Разработка ÑиÑтемы анализа юзабилити Ð´Ð»Ñ Ð²Ð°ÑˆÐµÐ³Ð¾ проекта.
+
+
+
+
+
+
+
СоÑтавление плана Ð´Ð»Ñ Ð°Ð½Ð°Ð»Ð¸Ð·Ð° проекта и ведение его.
+
+
+
+
+
+
+
СоÑтавление образа целевой аудитории, а также выделение из общего потока клиентов Ñамых лоÑльных и планирование взаимодейÑтвий Ñ Ð½Ð¸Ð¼Ð¸.
+
+
+
+
+
+
+
+
+
+
+
+beginContent('@app/views/blocks/portfolio.php'); ?>
+
+endContent(); ?>
+
+beginContent('@app/views/blocks/reviews.php'); ?>
+
+endContent(); ?>
+
+
+ beginContent('@app/views/blocks/clients.php', ['clients' => $clients]); ?>
+
+ endContent(); ?>
+
\ No newline at end of file
diff --git a/frontend/views/site/login.php b/frontend/views/site/login.php
new file mode 100644
index 0000000..fe67ee0
--- /dev/null
+++ b/frontend/views/site/login.php
@@ -0,0 +1,39 @@
+title = 'Login';
+$this->params['breadcrumbs'][] = $this->title;
+?>
+
+
= Html::encode($this->title) ?>
+
+
Please fill out the following fields to login:
+
+
+
+ 'login-form']); ?>
+
+ = $form->field($model, 'username') ?>
+
+ = $form->field($model, 'password')->passwordInput() ?>
+
+ = $form->field($model, 'rememberMe')->checkbox() ?>
+
+
+ If you forgot your password you can = Html::a('reset it', ['site/request-password-reset']) ?>.
+
+
+
+ = Html::submitButton('Login', ['class' => 'btn btn-primary', 'name' => 'login-button']) ?>
+
+
+
+
+
+
diff --git a/frontend/views/site/orders_audit.php b/frontend/views/site/orders_audit.php
new file mode 100644
index 0000000..715d92e
--- /dev/null
+++ b/frontend/views/site/orders_audit.php
@@ -0,0 +1,33 @@
+title = 'Ð—Ð°Ð¿Ñ€Ð¾Ñ Ð°ÑƒÐ´Ð¸Ñ‚Ð° Ñайта';
+$this->params['breadcrumbs'][] = $this->title;
+
+//$this->registerCssFile('css/xxx.css');
+//$this->registerJsFile('js/yyy.js');
+?>
+
+
+
+
+
ОÐЛÐЙÐ-БИЗÐЕС ДОЛЖЕРБЫТЬ ПРИБЫЛЬÐЫМ !
+
+
+ = $form->field($model, 'phone')->textInput(['maxlenth' => true])?>
+
+ = $form->field($model, 'email')->textInput(['maxlenth' => true])?>
+
+ = $form->field($model, 'comment')->textarea(['rows' => 10, 'cols' => 8])?>
+
+ = Html::submitButton('Получить аудит беÑплатно', ['class' => 'form-submit'])?>
+
+
+
Отправьте заÑвку и получите анализ от профеÑÑионалов
+
+
+
+
\ No newline at end of file
diff --git a/frontend/views/site/orders_audit_success.php b/frontend/views/site/orders_audit_success.php
new file mode 100644
index 0000000..168fc45
--- /dev/null
+++ b/frontend/views/site/orders_audit_success.php
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
СпаÑибо за вашу заÑвку
+
Ðаш менеджер подготовит анализ в течении Ñуток и ÑвÑжетÑÑ Ñ Ð²Ð°Ð¼Ð¸
+
+
Рпока вы можете узнать много вкуÑного об онлайн-маркетинге и не только в наших ÑообщеÑтвах:
+
+
+
+
+
+
\ No newline at end of file
diff --git a/frontend/views/site/requestPasswordResetToken.php b/frontend/views/site/requestPasswordResetToken.php
new file mode 100644
index 0000000..494ddb3
--- /dev/null
+++ b/frontend/views/site/requestPasswordResetToken.php
@@ -0,0 +1,31 @@
+title = 'Request password reset';
+$this->params['breadcrumbs'][] = $this->title;
+?>
+
+
= Html::encode($this->title) ?>
+
+
Please fill out your email. A link to reset password will be sent there.
+
+
+
+ 'request-password-reset-form']); ?>
+
+ = $form->field($model, 'email') ?>
+
+
+ = Html::submitButton('Send', ['class' => 'btn btn-primary']) ?>
+
+
+
+
+
+
diff --git a/frontend/views/site/resetPassword.php b/frontend/views/site/resetPassword.php
new file mode 100644
index 0000000..8e6d93f
--- /dev/null
+++ b/frontend/views/site/resetPassword.php
@@ -0,0 +1,31 @@
+title = 'Reset password';
+$this->params['breadcrumbs'][] = $this->title;
+?>
+
+
= Html::encode($this->title) ?>
+
+
Please choose your new password:
+
+
+
+ 'reset-password-form']); ?>
+
+ = $form->field($model, 'password')->passwordInput() ?>
+
+
+ = Html::submitButton('Save', ['class' => 'btn btn-primary']) ?>
+
+
+
+
+
+
diff --git a/frontend/views/site/services/analitic.php b/frontend/views/site/services/analitic.php
new file mode 100644
index 0000000..4f8260d
--- /dev/null
+++ b/frontend/views/site/services/analitic.php
@@ -0,0 +1,399 @@
+title = 'РаÑкрутка Ñайта Киев | SEO продвижение интернет-магазина в поиÑковых ÑиÑтемах (Google, ЯндекÑ) Ñео Ð¾Ð¿Ñ‚Ð¸Ð¼Ð¸Ð·Ð°Ñ†Ð¸Ñ ÐšÐ¸ÐµÐ², Харьков, ДнепропетровÑк, Украина';
+$this->params['breadcrumbs'][] = 'ÐаÑтройка аналитики';
+
+$this->registerCssFile('/css/service_analitic.css');
+
+$this->registerJsFile('/js/services/analitic.js');
+?>
+
+
+ beginContent('@app/views/blocks/services.php', ['tab' => 4]); ?>
+ endContent(); ?>
+
+
+
+
+
+
+
+
+
+
+
Сертифицированных
+ ÑпециалиÑта
+
+
+
+
+
+
Сложные
+ решениÑ
+
+
+
+
Ð’Ñе популÑрные
+ ÑиÑтемы
+
+
+
+
+
Ежедневный
+ контроль
+
+
+
+
+
+
+
+
+
+
+
Зачем вам наÑтройка аналитики на Ñайте?
+
+
+
+
Контроль полученных
+ результатов
+
+
+
+
+
Проверка качеÑтва
+ иÑточников трафика
+
+
+
+
+
Работы по юзабилити
+
+
+
+
+
Ð¡ÐµÐ³Ð¼ÐµÐ½Ñ‚Ð°Ñ†Ð¸Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»ÐµÐ¹
+
+
+
+
+
+
ПоÑтавка ÑкÑпериментов
+
+
+
+
+
Увеличение продаж
+
+
+
+
+
+
+
+
+
Проверка партнеров
+
+
+
+
+
+
Ð¡ÐµÐ³Ð¼ÐµÐ½Ñ‚Ð°Ñ†Ð¸Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»ÐµÐ¹
+
+
+
+
+
+
Решение бизнеÑ-задач
+
+
+
+
+
+
Увеличение глубины
+ проÑмотров
+
+
+
+
+
Улучшение качеÑтва
+ иÑточников трафика
+
+
+
+
+
+
+
+
КейÑ
+
+
+
+
+
+
E-commerceÑчитаетприбыль
+
+
+
+
ÐнализраÑходов изCPC-иÑточников
+
+
+
+
СегментациÑпользователей
+
+
+
+
+
+
Команда на проект
+
+
+
+ Проджект-менеджер
+
+
+ Интернет-маркетолог
+
+
+ Ðналитик
+
+
+
+
+ ЮзабилиÑÑ‚
+
+
+
+
+
+
+
5 причин работать Ñ Ð½Ð°Ð¼Ð¸
+
+
+
+
1
+
Мы выдвигаем гипотезыи проверÑем их проверке.
+
+
+
+
2
+
ПоÑтоÑнные Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹Ñ ÑƒÐ»ÑƒÑ‡ÑˆÐµÐ½Ð¸ÐµÐ¼ конверÑий.
+
+
+
+
+
3
+
Строгий контроль рентабельноÑтивÑех иÑточников трафика.
+
+
+
4
+
Подключаем необходимые ÑиÑтемыанализа в завиÑимоÑти от задач.
+
+
+
+
5
+
Мы не только наÑтраиваем аналитику,но и Ñоздаем Ñтратегию Ñ€Ð°Ð·Ð²Ð¸Ñ‚Ð¸Ñ Ð±Ð¸Ð·Ð½ÐµÑа.
+
+
+
+
Реще мы поÑещаем Ñеминары, конференции, общаемÑÑ, Ñ ÐºÐ¾Ð»Ð»ÐµÐ³Ð°Ð¼Ð¸, обмениваемÑÑ Ð·Ð½Ð°Ð½Ð¸Ñми, читаем профеÑÑиональную литературу.,ПоÑтому и информированы лучше, чем оÑтальные.
+
+
+
+
+
+
+
+
ÐаÑтройка Google.Analytics и ЯндекÑ.Метрики
+
+
+
+ Ð’Ñ‹ хотите знать наÑколько Ñффективно работает онлайн-маркетинг на вашем Ñайте?
+ Вам нужны данные Ð´Ð»Ñ Ð¿Ñ€Ð¸Ð½ÑÑ‚Ð¸Ñ ÑтратегичеÑких решений?
+ Ðеобходимо проверить качеÑтво вÑех иÑточников трафика?
+ Хотите проверить ÑффективноÑть работы подрÑдчиков?
+
+
Тогда вы пришли по адреÑу.
+
+
+
+
+ В чем же фишка
+
+ 1. ÐаÑтройка Google Analytics - Goals, Events,
+ E-commerce, Cost Analysis, Dimensions, Metrics.
+ 2. ÐаÑтройка ЯндекÑ.Метрики - вебвизор, аналитика
+ форм, оÑтрова, целевой звонок.
+ 3. Мы обучаем - заказчик должен уметь пользоватьÑÑ
+ аналитикой.
+ 4. Ð¡Ñ‚Ñ€Ð°Ñ‚ÐµÐ³Ð¸Ñ Ð°Ð½Ð°Ð»Ð¸Ð·Ð° - выбираем ÑпоÑобы получениÑ
+ репрезентативных данных и ÑоÑтавлÑем цели, длÑ
+ которых они нужны.
+ 5. КомплекÑный подход - иÑпользуем вÑе
+ необходимые инÑтрументы от ÑервиÑов до
+ индивидуальных Ñкриптов на Ñайте.
+ 6. A/B теÑÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ - Ñ€ÐµÑˆÐµÐ½Ð¸Ñ Ð¿Ð¾ юзабилити длÑ
+ вашего бизнеÑа.
+ 7. Индивидуальный подход - у каждого клиента Ñвои
+ цели, которые мы иÑÑледуем.
+
+
+
+
+
+
Мы Ñчитаем, что клиент обÑзательно должен понимать, что он получает в результате работы подрÑдчика, а Ð´Ð»Ñ Ñтого необходима Ð¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð°Ñ Ð°Ð½Ð°Ð»Ð¸Ñ‚Ð¸ÐºÐ°. Со Ñвоей Ñтороны без точных данных мы не можем доÑтичь макÑимальных результатов, поÑтому Ñто так важно.
+
+
+
+
Ðнтон Ð—Ð¾Ð·ÑƒÐ»Ñ Ð”Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€ по маркетингу
+
+
+
+
+
+
+
ÐÐ°Ñ Ñ€ÐµÐºÐ¾Ð¼ÐµÐ½Ð´ÑƒÑŽÑ‚Ð·Ð° результаты, а не краÑивые отчеты
+
+
+
+
+
+
+
Ð¡Ð¾Ð»Ð¾Ð¼Ñ–Ñ Ð¡Ð¸Ð²Ð¸Ðº Маркетинг-менеджерextremstyle.ua
+
+
+
+ ÐšÐ¾Ð¼Ð¿Ð°Ð½Ð¸Ñ Â«ArtWeb» Ñопровождает Ð½Ð°Ñ Ñ Ñамого начала деÑтельноÑти в Ñети интернет. Ð Ñто уже более деÑÑти лет. ДолгоÑрочноÑть ÑотрудничеÑтва ÑвлÑетÑÑ Ð»ÑƒÑ‡ÑˆÐ¸Ð¼ показателем его уÑпешноÑти и Ð²Ð·Ð°Ð¸Ð¼Ð¾Ð¿Ð¾Ð½Ð¸Ð¼Ð°Ð½Ð¸Ñ Ð½Ð° пути Ñ€ÐµÑˆÐµÐ½Ð¸Ñ Ð²Ð¾Ð·Ð½Ð¸ÐºÐ°ÑŽÑ‰Ð¸Ñ… задач и целей. ЯвлÑÑÑÑŒ Ñоздателем наших Ñайтов, ÐºÐ¾Ð¼Ð¿Ð°Ð½Ð¸Ñ Â«ArtWeb» обеÑпечивает не только их беÑперебойное техничеÑкое обÑлуживание и лидирующие позиции, но и полное ÑоответÑтвие новейшим тенденциÑм в интернет-технологиÑÑ…. ÐарÑду Ñ Ñ€ÐµÑˆÐµÐ½Ð¸ÐµÐ¼ наших текущих задач, ÑпециалиÑты «ArtWeb» поÑтоÑнно предлагают немного больше, чем то, Ñ Ñ‡ÐµÐ¼ мы обратилиÑÑŒ, то еÑть решение задач более выÑокого уровнÑ. Внедрение, казалоÑÑŒ бы, фантаÑтичеÑких замыÑлов в развитие Ñайта, иногда опережает даже Ñамое Ñмелое планирование.
+
+ Важным аÑпектом нашего ÑотрудничеÑтва Ñ Â«ArtWeb» ÑвлÑетÑÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾Ñть целенаправленного ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÐºÐ»Ð¸ÐµÐ½Ñ‚Ñкой базой и Ð¾Ð¿Ñ‚Ð¸Ð¼Ð¸Ð·Ð°Ñ†Ð¸Ñ ÐµÐµ не только количеÑтвенных, но и качеÑтвенных показателей, что непоÑредÑтвенно влиÑет на роÑÑ‚ прибыли нашей компании. ОтветÑтвенноÑть, гибкоÑть, умение работать на результат, креативноÑть мышлениÑ, оперативное реагирование на вÑе наши запроÑÑ‹, Ð¿Ð¾Ð»Ð½Ð°Ñ Ð¾ÑведомленноÑть обо вÑем проиÑходÑщем на рынке новейших интернет-технологий и отчаÑти их авторÑÐºÐ°Ñ Ñ€Ð°Ð·Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ° – отличительные характериÑтики нашего надежного партнера – компании «ArtWeb».
+
+ Ðа протÑжении вÑего периода ÑотрудничеÑтва у Ð½Ð°Ñ Ð½Ðµ было повода уÑомнитьÑÑ Ð² том, что в «ArtWeb» работают лучшие web-ÑпециалиÑты. СотрудничеÑтво Ñ Â«ArtWeb» ÑвлÑетÑÑ Ð²Ð°Ð¶Ð½Ð¾Ð¹ ÑоÑтавлÑющей лидерÑтва в Ñегменте нашей деÑтельноÑти.
+
+
+
+
+
+
+
+
Сергей Левицкий ПреÑÑ-Ñекретарьukravtodor.gov.ua
+
+
+
+ Укравтодор Ñотрудничает Ñ ÐºÐ¾Ð¼Ð¿Ð°Ð½Ð¸ÐµÐ¹ «ArtWeb» уже около года, в течение которого было реализовано неÑколько Ñложнейших веб-проектов - в кратчайший Ñрок Ñоздана Ð½Ð¾Ð²Ð°Ñ Ð²ÐµÑ€ÑÐ¸Ñ Ð¾Ñ„Ð¸Ñ†Ð¸Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ веб-Ñайта ГоÑагентÑва автомобильных дорог Украины, а также Ñ€Ñд интерактивных веб-приложений, информирующих о ÑоÑтоÑнии проезда и качеÑтве дорожного покрытиÑ.
+
+ С Ñамого начала ÑовмеÑтной работы ÑпециалиÑты компании продемонÑтрировали Ñвой выÑокий профеÑÑионализм, гибкоÑть, и оперативноÑть в решении вÑех возникающих вопроÑов, что позволило модернизировать официальное интернет-предÑтавительÑтво Укравтодора за рекордно короткий Ñрок - 3 меÑÑца. Ð’ то Ð²Ñ€ÐµÐ¼Ñ ÐºÐ°Ðº предыдущую верÑию веб-Ñайта, уÑтаревшую и не функциональную, Ñ€Ñд других компаний-разработчиков пыталиÑÑŒ уÑовершенÑтвовать на протÑжении 9 лет.
+
+ Ðтот уÑпешный опыт продемонÑтрировал ÑффективноÑть ÑотрудничеÑтва Ñ ÐºÐ¾Ð¼Ð¿Ð°Ð½Ð¸ÐµÐ¹ «ArtWeb» и потому вÑе поÑледующие интернет- проекты Укравтодора были переданы в разработку именно ей.
+
+ СпаÑибо руководÑтву и коллективу компании за понимание и поддержку в решении Ñложных и, как правило, чрезвычайно оперативных задач.
+
+ ПреÑÑ-Ñлужба Укравтодора
+
+
+
+
+
+
+
+
+
Ðндрей Богатырь ИÑполнительный менеджер проектаcensor.net.ua
+
+
+
+ Мы обратилиÑÑŒ к ArtWeb Ñ Ñ†ÐµÐ»ÑŒÑŽ улучшить качеÑтво индекÑации Ñайта поиÑковыми ÑиÑтемами и увеличить трафик от ключевых поиÑковых операторов. Ð”Ð»Ñ Ñтого «ArtWeb» нужно было провеÑти анализ наших недоработок по оптимизации и предоÑтавить план уÑовершенÑÑ‚Ð²Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸ Ð¿Ñ€Ð¾Ð´Ð²Ð¸Ð¶ÐµÐ½Ð¸Ñ Ñайта. Главной целью было добитьÑÑ ÑƒÐ²ÐµÐ»Ð¸Ñ‡ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¸Ñ‚Ð¾ÐºÐ° трафика из поиÑковых ÑиÑтем до ÑƒÑ€Ð¾Ð²Ð½Ñ Ð±Ð¾Ð»ÐµÐµ 50 тыÑ. переходов в Ñутки, в итоге через год поÑле Ð¿Ñ€Ð¾Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ñ€Ð°Ð±Ð¾Ñ‚ кумулÑтивный Ñффект дал приток трафика более 200 тыÑÑч переходов в Ñутки.
+
+ Благодарим «ArtWeb» за Ñлаженную и прозрачную ÑиÑтему по взаимодейÑтвию в процеÑÑе работы. Результат ÑотрудничеÑтва Ñ Â«ArtWeb» полноÑтью оправдал ожиданиÑ. Рекомендую вÑем Ñту компанию как профеÑÑионалов в облаÑти Ð¿Ñ€Ð¾Ð´Ð²Ð¸Ð¶ÐµÐ½Ð¸Ñ Ñайта.
+
+
+
+
+
+
+
+
+
+
+
+
Как мы работаем
+
+
+
+
+
+
ПоÑтороение Ñтратегии
+ аналитики
+
+
+
+
+
+
Подключение оÑновных
+ ÑервиÑов
+
+
+
+
+
+
+
+
ÐаÑтройка
+ Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ Ð´Ð°Ð½Ð½Ñ‹Ñ…
+
+
+
+
+
+
+
Создание отчетов
+
+
+
+
+
+
+
ÐкÑперименты
+
+
+
+
+
+
+
Контроль и
+ отчетноÑть
+
+
+
+
+
+
+
+
diff --git a/frontend/views/site/services/content.php b/frontend/views/site/services/content.php
new file mode 100644
index 0000000..bb4df13
--- /dev/null
+++ b/frontend/views/site/services/content.php
@@ -0,0 +1,546 @@
+title = 'РаÑкрутка Ñайта Киев | SEO продвижение интернет-магазина в поиÑковых ÑиÑтемах (Google, ЯндекÑ) Ñео Ð¾Ð¿Ñ‚Ð¸Ð¼Ð¸Ð·Ð°Ñ†Ð¸Ñ ÐšÐ¸ÐµÐ², Харьков, ДнепропетровÑк, Украина';
+$this->params['breadcrumbs'][] = 'Content';
+
+$this->registerCssFile('/css/service_content.css');
+
+$this->registerJsFile('/js/services/content.js');
+?>
+
+
+ beginContent('@app/views/blocks/services.php', ['tab' => 2]); ?>
+ endContent(); ?>
+
+
+
+
+
+
+
+
+
+
+
Индивидуальный
+ подход
+
+
+
+
+
+
+
ДейÑтвеннаÑ
+ ÑтратегиÑ
+
+
+
+
+
ОпытнаÑкоманда
+
+
+
+
+
+
+
+
+
+
+
Зачем вам контент-маркетинг?
+
+
+
+
РоÑÑ‚ узнаваемоÑти
+ на рынке
+
+
+
+
+
Ð¡Ñ‚Ð°Ñ‚ÑƒÑ Ð»Ð¸Ð´ÐµÑ€Ð°
+ мнений
+
+
+
+
Получение
+ качеÑтвенных лидов
+
+
+
+
+
Увеличение конверÑии
+ и поÑещаемоÑти
+
+
+
+
ÐœÐ¾Ñ‚Ð¸Ð²Ð°Ñ†Ð¸Ñ ÐºÐ»Ð¸ÐµÐ½Ñ‚Ð¾Ð²
+ покупать продукт
+
+
+
+
+
Продвижение в
+ поиÑковых ÑиÑтемах
+
+
+
+
+
Получение качеÑтвенных
+ ÑÑылок Ñ Ð´Ñ€ÑƒÐ³Ð¸Ñ… реÑурÑов
+
+
+
+
+
+
+
+
+
Ð¡Ñ‚Ð°Ñ‚ÑƒÑ Ð»Ð¸Ð´ÐµÑ€Ð°
+ мнений
+
+
+
+
+
Получение качеÑтвенных
+ лидов
+
+
+
+
+
Снижение ÑтоимоÑти лида
+ и раÑходов на контекÑтную
+ рекламу
+
+
+
+
+
ÐœÐ¾Ñ‚Ð¸Ð²Ð°Ñ†Ð¸Ñ ÐºÐ»Ð¸ÐµÐ½Ñ‚Ð¾Ð²
+ покупать продукты
+
+
+
+
+
Ðужно быÑтро Ñобрать
+ команду маркетологов
+
+
+
+
+
ПроизводÑтво разного
+ вида контента в больших
+ маÑштабах
+
+
+
+
+
+
+
+
+
+
+
+
+
+ пользователей Ñчитают, что контент полезен
+ (CMI)
+
+
+
+
+
+
+
+
+
+ пользователей менÑли Ñвоемнение на позитивное,прочитав блог компании
+ Endurance Marketing
+
+
+
+
+
+
+
+
+
+ бизнеÑменов, принимающих решение, черпают ÑÐ²ÐµÐ´ÐµÐ½Ð¸Ñ Ð¾ компании не из рекламы,
+ а предварительно читают информацию на ее Ñайте (CMI)
+
+
+
+
+
+
Команда на проект
+
+
+
+ Ðккаунт-менеджер
+
+
+ Интернет-маркетолог
+
+
+ СпециалиÑÑ‚ по
+ CPA-рекламе
+
+
+
+
+ Дизайнер
+
+
+ Ðналитик
+
+
+
+
+
+
+
5 причин заказать у Ð½Ð°Ñ CPA-рекламу
+
+
+
+
1
+
Мы умеем работать Ñ CPA-биржами
+ от наÑтройки кодов на Ñайте
+ до взаимодейÑтвиÑ
+ Ñ Ð²ÐµÐ±Ð¼Ð°Ñтерами.
+
+
+
+
+
2
+
Поможем проÑчитать процент,
+ который будет макÑимально
+ Ñффективным Ð´Ð»Ñ Ð²Ð°Ñ.
+
+
+
+
+
+
3
+
Баннеры идеально подходÑÑ‚ д
+ Ð»Ñ Ð²ÐµÐ±-маÑтеров
+ (кликабельны и продающие).
+
+
+
+
+
4
+
Мы знаем, как привлекать
+ новых партнеров.
+
+
+
+
+
5
+
ÐаÑтроим внутреннюю ÑиÑтему
+ от “Приведи другаâ€
+ до популÑрного ÑпоÑоба
+ монетизации в вашей тематике.
+
+
+
+
+
Реще мы поÑещаем Ñеминары, конференции, общаемÑÑ, Ñ ÐºÐ¾Ð»Ð»ÐµÐ³Ð°Ð¼Ð¸, обмениваемÑÑ Ð·Ð½Ð°Ð½Ð¸Ñми, читаем профеÑÑиональную литературу.,ПоÑтому и информированы лучше, чем оÑтальные.
+
+
+
+
+
+
+
+
Контент – вÑему голова
+
+
+
Контент- Ñамый верный и надежный ÑпоÑоб удержать
+ Ð¿Ð¾ÐºÑƒÐ¿Ð°Ñ‚ÐµÐ»Ñ Ð½Ð° Ñайте, а хороший текÑÑ‚ – залог уÑпеха.
+
+ Однако одного текÑта мало: он нуждаетÑÑ Ð² иллюÑтрациÑÑ…
+ и видео. Рпопытки Ñделать вÑÑŽ работу Ñвоими Ñилами
+ превращаетÑÑ Ð² непоÑильную ношу. Тем более, что плоды
+ контент-маркетинг приноÑит не Ñразу.
+
+
+
+
+
+ Очень чаÑто можно уÑлышать, что копирайтеры и журналиÑты не Ñмогут хорошо опиÑать Ñложный продукт (например, ÑельÑкохозÑйÑтвеннаÑ, медицинÑÐºÐ°Ñ Ñ‚ÐµÐ¼Ð°Ñ‚Ð¸ÐºÐ°, металлургиÑ).
+ Да, один автор не Ñможет ÑамоÑтоÑтельно разобратьÑÑ. Ðо. Мы найдем ÑкÑпертов, проведем интервью и, перед тем, как приÑтупить к работе, глубоко изучим подводные камни отраÑли.
+
+ Работа будет проходить под вашим контролем, потому что никто не знает Ð±Ð¸Ð·Ð½ÐµÑ Ð»ÑƒÑ‡ÑˆÐµ, чем его владелец.
+
+ Ðачните диалог Ñо Ñвоими клиентами, пока ваши конкуренты не Ñделали Ñто раньше.
+
+
+
+
CPA - Ñто Ð»ÑƒÑ‡ÑˆÐ°Ñ ÑиÑтема
+ Ð´Ð»Ñ Ð²Ð»Ð°Ð´ÐµÐ»ÑŒÑ†ÐµÐ² бизнеÑа.
+ Вы оплачиваете только
+ результат (продажу)
+ и платите процент, который
+ вам выгоден.
+
+
+
+
Ð®Ð»Ð¸Ñ Ð¡Ð¾Ñ‚Ð½Ð¸ÐºÐ¾Ð²Ð° руководитель отдела лоÑльноÑти
+
+
+
+
+
+
+
+
Что мы делаем
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
ПреÑÑ-релизы
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Инфографика
+
+
+
+
+
+
+
+
Презентации
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
РуководÑтва
+ и инÑтрукции
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Страницы
+ Ñ Ð¿Ð¾Ð´ÐºÐ°Ñтами
+
+
+
+
+
+
+
ÐÐ°Ñ Ñ€ÐµÐºÐ¾Ð¼ÐµÐ½Ð´ÑƒÑŽÑ‚Ð·Ð° результаты, а не краÑивые отчеты
+
+
+
+
+
+
+
Ð¡Ð¾Ð»Ð¾Ð¼Ñ–Ñ Ð¡Ð¸Ð²Ð¸Ðº Маркетинг-менеджерextremstyle.ua
+
+
+
+ ÐšÐ¾Ð¼Ð¿Ð°Ð½Ð¸Ñ Â«ArtWeb» Ñопровождает Ð½Ð°Ñ Ñ Ñамого начала деÑтельноÑти в Ñети интернет. Ð Ñто уже более деÑÑти лет. ДолгоÑрочноÑть ÑотрудничеÑтва ÑвлÑетÑÑ Ð»ÑƒÑ‡ÑˆÐ¸Ð¼ показателем его уÑпешноÑти и Ð²Ð·Ð°Ð¸Ð¼Ð¾Ð¿Ð¾Ð½Ð¸Ð¼Ð°Ð½Ð¸Ñ Ð½Ð° пути Ñ€ÐµÑˆÐµÐ½Ð¸Ñ Ð²Ð¾Ð·Ð½Ð¸ÐºÐ°ÑŽÑ‰Ð¸Ñ… задач и целей. ЯвлÑÑÑÑŒ Ñоздателем наших Ñайтов, ÐºÐ¾Ð¼Ð¿Ð°Ð½Ð¸Ñ Â«ArtWeb» обеÑпечивает не только их беÑперебойное техничеÑкое обÑлуживание и лидирующие позиции, но и полное ÑоответÑтвие новейшим тенденциÑм в интернет-технологиÑÑ…. ÐарÑду Ñ Ñ€ÐµÑˆÐµÐ½Ð¸ÐµÐ¼ наших текущих задач, ÑпециалиÑты «ArtWeb» поÑтоÑнно предлагают немного больше, чем то, Ñ Ñ‡ÐµÐ¼ мы обратилиÑÑŒ, то еÑть решение задач более выÑокого уровнÑ. Внедрение, казалоÑÑŒ бы, фантаÑтичеÑких замыÑлов в развитие Ñайта, иногда опережает даже Ñамое Ñмелое планирование.
+
+ Важным аÑпектом нашего ÑотрудничеÑтва Ñ Â«ArtWeb» ÑвлÑетÑÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾Ñть целенаправленного ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÐºÐ»Ð¸ÐµÐ½Ñ‚Ñкой базой и Ð¾Ð¿Ñ‚Ð¸Ð¼Ð¸Ð·Ð°Ñ†Ð¸Ñ ÐµÐµ не только количеÑтвенных, но и качеÑтвенных показателей, что непоÑредÑтвенно влиÑет на роÑÑ‚ прибыли нашей компании. ОтветÑтвенноÑть, гибкоÑть, умение работать на результат, креативноÑть мышлениÑ, оперативное реагирование на вÑе наши запроÑÑ‹, Ð¿Ð¾Ð»Ð½Ð°Ñ Ð¾ÑведомленноÑть обо вÑем проиÑходÑщем на рынке новейших интернет-технологий и отчаÑти их авторÑÐºÐ°Ñ Ñ€Ð°Ð·Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ° – отличительные характериÑтики нашего надежного партнера – компании «ArtWeb».
+
+ Ðа протÑжении вÑего периода ÑотрудничеÑтва у Ð½Ð°Ñ Ð½Ðµ было повода уÑомнитьÑÑ Ð² том, что в «ArtWeb» работают лучшие web-ÑпециалиÑты. СотрудничеÑтво Ñ Â«ArtWeb» ÑвлÑетÑÑ Ð²Ð°Ð¶Ð½Ð¾Ð¹ ÑоÑтавлÑющей лидерÑтва в Ñегменте нашей деÑтельноÑти.
+
+
+
+
+
+
+
+
Сергей Левицкий ПреÑÑ-Ñекретарьukravtodor.gov.ua
+
+
+
+ Укравтодор Ñотрудничает Ñ ÐºÐ¾Ð¼Ð¿Ð°Ð½Ð¸ÐµÐ¹ «ArtWeb» уже около года, в течение которого было реализовано неÑколько Ñложнейших веб-проектов - в кратчайший Ñрок Ñоздана Ð½Ð¾Ð²Ð°Ñ Ð²ÐµÑ€ÑÐ¸Ñ Ð¾Ñ„Ð¸Ñ†Ð¸Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ веб-Ñайта ГоÑагентÑва автомобильных дорог Украины, а также Ñ€Ñд интерактивных веб-приложений, информирующих о ÑоÑтоÑнии проезда и качеÑтве дорожного покрытиÑ.
+
+ С Ñамого начала ÑовмеÑтной работы ÑпециалиÑты компании продемонÑтрировали Ñвой выÑокий профеÑÑионализм, гибкоÑть, и оперативноÑть в решении вÑех возникающих вопроÑов, что позволило модернизировать официальное интернет-предÑтавительÑтво Укравтодора за рекордно короткий Ñрок - 3 меÑÑца. Ð’ то Ð²Ñ€ÐµÐ¼Ñ ÐºÐ°Ðº предыдущую верÑию веб-Ñайта, уÑтаревшую и не функциональную, Ñ€Ñд других компаний-разработчиков пыталиÑÑŒ уÑовершенÑтвовать на протÑжении 9 лет.
+
+ Ðтот уÑпешный опыт продемонÑтрировал ÑффективноÑть ÑотрудничеÑтва Ñ ÐºÐ¾Ð¼Ð¿Ð°Ð½Ð¸ÐµÐ¹ «ArtWeb» и потому вÑе поÑледующие интернет- проекты Укравтодора были переданы в разработку именно ей.
+
+ СпаÑибо руководÑтву и коллективу компании за понимание и поддержку в решении Ñложных и, как правило, чрезвычайно оперативных задач.
+
+ ПреÑÑ-Ñлужба Укравтодора
+
+
+
+
+
+
+
+
+
Ðндрей Богатырь ИÑполнительный менеджер проектаcensor.net.ua
+
+
+
+ Мы обратилиÑÑŒ к ArtWeb Ñ Ñ†ÐµÐ»ÑŒÑŽ улучшить качеÑтво индекÑации Ñайта поиÑковыми ÑиÑтемами и увеличить трафик от ключевых поиÑковых операторов. Ð”Ð»Ñ Ñтого «ArtWeb» нужно было провеÑти анализ наших недоработок по оптимизации и предоÑтавить план уÑовершенÑÑ‚Ð²Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸ Ð¿Ñ€Ð¾Ð´Ð²Ð¸Ð¶ÐµÐ½Ð¸Ñ Ñайта. Главной целью было добитьÑÑ ÑƒÐ²ÐµÐ»Ð¸Ñ‡ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¸Ñ‚Ð¾ÐºÐ° трафика из поиÑковых ÑиÑтем до ÑƒÑ€Ð¾Ð²Ð½Ñ Ð±Ð¾Ð»ÐµÐµ 50 тыÑ. переходов в Ñутки, в итоге через год поÑле Ð¿Ñ€Ð¾Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ñ€Ð°Ð±Ð¾Ñ‚ кумулÑтивный Ñффект дал приток трафика более 200 тыÑÑч переходов в Ñутки.
+
+ Благодарим «ArtWeb» за Ñлаженную и прозрачную ÑиÑтему по взаимодейÑтвию в процеÑÑе работы. Результат ÑотрудничеÑтва Ñ Â«ArtWeb» полноÑтью оправдал ожиданиÑ. Рекомендую вÑем Ñту компанию как профеÑÑионалов в облаÑти Ð¿Ñ€Ð¾Ð´Ð²Ð¸Ð¶ÐµÐ½Ð¸Ñ Ñайта.
+
+
+
+
+
+
+
+
+
+
+
+
Как мы работаем
+
+
+
+
+
+
Глубокое
+ изучение тематики
+
+
+
+
+
+
СтратегиÑ
+
+
+
+
+
+
+
+
ÐапиÑание
+ контента
+
+
+
+
+
+
+
+
РаÑпроÑтранение
+ через блоги,
+ Ñоциальные Ñети,
+ Ñлектронную
+ почту и внешние
+ иÑточники
+
+
+
+
+
+
Подготовка
+ иллюÑтрации,
+ инфографики, видео
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/frontend/views/site/services/context.php b/frontend/views/site/services/context.php
new file mode 100644
index 0000000..6418474
--- /dev/null
+++ b/frontend/views/site/services/context.php
@@ -0,0 +1,386 @@
+title = 'РаÑкрутка Ñайта Киев | SEO продвижение интернет-магазина в поиÑковых ÑиÑтемах (Google, ЯндекÑ) Ñео Ð¾Ð¿Ñ‚Ð¸Ð¼Ð¸Ð·Ð°Ñ†Ð¸Ñ ÐšÐ¸ÐµÐ², Харьков, ДнепропетровÑк, Украина';
+$this->params['breadcrumbs'][] = 'КонтекÑÑ‚Ð½Ð°Ñ Ñ€ÐµÐºÐ»Ð°Ð¼Ð°';
+
+$this->registerCssFile('/css/service_context.css');
+
+$this->registerJsFile('/js/services/context.js');
+?>
+
+
+
+ beginContent('@app/views/blocks/services.php', ['tab' => 1]); ?>
+ endContent(); ?>
+
+
+
+
+
+
+
+
+
+
+
ROI,вÑегда прибыльно
+
+
+
+
Индивидуальныйподход
+
+
+
+
ÑертифицированныхÑпециалиÑтов
+
+
+
+
+
Ð’Ñе видыконтекÑтной рекламы
+
+
+
+
+
+
+
+
+
+
Зачем вам наÑтройка аналитики на Ñайте?
+
+
+
+
БыÑтрые продажи
+
+
+
+
УÑпешный Ñтарт бизнеÑа
+
+
+
+
Ð’Ñ‹Ñокий показательконверÑий
+
+
+
+
МаÑштабируемыеобъемы трафика
+
+
+
+
Увеличение продажи прибыли
+
+
+
+
+
+
+
+
УзнаваемоÑть бренда
+
+
+
+
+
РоÑÑ‚ поÑещаемоÑтиÑайта
+
+
+
+
ÐвтоматичеÑкоеведение кампаний
+
+
+
+
Работа подконтролем ROI
+
+
+
+
ÐаÑтройка поÑадочныхÑтраниц на Ñайте
+
+
+
+
+
+
+
+
+
БыÑтрые продажина новых рынках
+
+
+
+
+
ÐвтоматичеÑкоеведение кампаний
+
+
+
+
ДиверÑификациÑриÑков
+
+
+
+
Стратегии продвижениÑв каждом регионе
+
+
+
+
+
+
КейÑ
+
+
+
+
+
+
разделовв работе
+
+
+
+
различныхÑтратегийремаркетинга
+
+
+
+
+
показов рекламыв меÑÑц
+
+
+
+
+
+
+
+
Команда на проект
+
+
+
+ Ðккаунт-менеджер
+
+
+ Интернет-маркетолог
+
+
+ СпециалиÑтпо контекÑтнойрекламе
+
+
+
+
+
+ Дизайнер
+
+
+ Ðналитик
+
+
+
+
+
+
+
5 причин работать Ñ Ð½Ð°Ð¼Ð¸
+
+
+
+
1
+
Ð’Ñе работы Ñ Ñ€ÐµÐºÐ»Ð°Ð¼Ð¾Ð¹, как в Adwords,так и Директе, проводÑÑ‚ÑÑпод контролем ROI.
+
+
+
+
2
+
Пошагово запуÑкаем Ñ†ÐµÐ»Ñ‹Ð¹ÐºÐ¾Ð¼Ð¿Ð»ÐµÐºÑ Ð¼ÐµÑ€Ð¾Ð¿Ñ€Ð¸Ñтий от наиболеепродающих запроÑов до запроÑов,которые дают прибыльпри минимальных ценах.
+
+
+
+
+
3
+
С вашим проектом работает командаÑертифицированных ÑпециалиÑтовGoogle AdWords.
+
+
+
4
+
Мы Ñтроим ремаркетинг-Ñтратегиюна каждый проект.
+
+
+
+
5
+
С нами Ð±Ð¸Ð·Ð½ÐµÑ Ð¿Ð¾Ð»ÑƒÑ‡Ð°ÐµÑ‚ макÑимумот контекÑтной рекламы.
+
+
+
+
Реще мы поÑещаем Ñеминары, конференции, общаемÑÑ, Ñ ÐºÐ¾Ð»Ð»ÐµÐ³Ð°Ð¼Ð¸, обмениваемÑÑ Ð·Ð½Ð°Ð½Ð¸Ñми, читаем профеÑÑиональную литературу.,ПоÑтому и информированы лучше, чем оÑтальные.
+
+
+
+
+
+
+
+
КонтекÑÑ‚Ð½Ð°Ñ Ñ€ÐµÐºÐ»Ð°Ð¼Ð° Google AdWordsили ЯндекÑ.Директ
+
+
+
+ Ð’Ñ‹ уже обращалиÑÑŒ к Ñ€Ñду компаний, которые занимаютÑÑ ÐºÐ¾Ð½Ñ‚ÐµÐºÑтной рекламой, но так и не получили желаемую прибыль?
+ У Ð²Ð°Ñ Ð±Ð¾Ð»ÑŒÑˆÐ¾Ð¹ опыт Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ñ Ð¼ÐµÐ½ÐµÐ´Ð¶ÐµÑ€Ð°Ð¼Ð¸ и целые тома обещаний, которые так и не были выполнены?
+ Или вы никогда не заказывали контекÑтную рекламу: вÑегда боÑлиÑÑŒ, что она будет невыгодной, Ñ…Ð¾Ñ‚Ñ Ð²Ð°ÑˆÐ¸ конкуренты уже годами получают доход и новых клиентов?
+
+
Тогда вы пришли по адреÑу.
+
+
+
+
+ 1.Ð’Ñ‹Ñокие конверÑии - на Ñайт попадают только
+ потенциальные клиенты.
+ 2.ÐŸÐ¾Ð´Ñ€Ð¾Ð±Ð½Ð°Ñ ÑÑ‚Ñ€Ð°Ñ‚ÐµÐ³Ð¸Ñ Ð¿Ñ€Ð¾Ð´Ð²Ð¸Ð¶ÐµÐ½Ð¸Ñ Ð¾Ñ‚
+ Senior-ÑпециалиÑта по контекÑтной рекламе на
+ каждый проект.
+ 3.Контроль ROI - производитÑÑ Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡ÐµÑкий
+ переÑчет цены на клик раз в 1-30 дней в
+ завиÑимоÑти от трафика
+ 4.Полное ÑемантичеÑкое Ñдро - 100% проработка
+ горÑчих, теплых и холодных ключевых запроÑов
+ поÑтапно.
+ 5.ÐаÑтройка аналитики - ÑвÑзываютÑÑ Ð²Ñе аккаунты,
+ наÑтраиваютÑÑ ÐºÐ¾Ð½Ð²ÐµÑ€Ñии.
+ 6. ЗапуÑк ремаркетинга - от обычной рекламы Ñайта
+ до маркетинговой Ñтратегии в переÑечении Ñ
+ оÑтальными маркетинговыми активноÑÑ‚Ñми.
+ 7.Ð“Ð¸Ð±ÐºÐ°Ñ Ð¾Ñ‚Ñ‡ÐµÑ‚Ð½Ð¾Ñть - помогаем вам определить
+ KPI, и Ñледим за ними.
+
+
+
+
Рчто каÑаетÑÑ: “Где лучше контекÑÑ‚Ð½Ð°Ñ Ñ€ÐµÐºÐ»Ð°Ð¼Ð° в AdWords или Директ?†- То мы рекомендуем иÑпользовать вÑе иÑточники трафика, у которых ROI > 100%. СоответÑтвенно, мы работаем над получением результатов и Ñ Google и ЯндекÑ.
+
+
+
+
Светлана БориÑюк менеджер по контекÑтной рекламе
+
+
+
+
+
+
+
ÐÐ°Ñ Ñ€ÐµÐºÐ¾Ð¼ÐµÐ½Ð´ÑƒÑŽÑ‚Ð·Ð° результаты, а не краÑивые отчеты
+
+
+
+
+
+
+
Ð¡Ð¾Ð»Ð¾Ð¼Ñ–Ñ Ð¡Ð¸Ð²Ð¸Ðº Маркетинг-менеджерextremstyle.ua
+
+
+
+ ÐšÐ¾Ð¼Ð¿Ð°Ð½Ð¸Ñ Â«ArtWeb» Ñопровождает Ð½Ð°Ñ Ñ Ñамого начала деÑтельноÑти в Ñети интернет. Ð Ñто уже более деÑÑти лет. ДолгоÑрочноÑть ÑотрудничеÑтва ÑвлÑетÑÑ Ð»ÑƒÑ‡ÑˆÐ¸Ð¼ показателем его уÑпешноÑти и Ð²Ð·Ð°Ð¸Ð¼Ð¾Ð¿Ð¾Ð½Ð¸Ð¼Ð°Ð½Ð¸Ñ Ð½Ð° пути Ñ€ÐµÑˆÐµÐ½Ð¸Ñ Ð²Ð¾Ð·Ð½Ð¸ÐºÐ°ÑŽÑ‰Ð¸Ñ… задач и целей. ЯвлÑÑÑÑŒ Ñоздателем наших Ñайтов, ÐºÐ¾Ð¼Ð¿Ð°Ð½Ð¸Ñ Â«ArtWeb» обеÑпечивает не только их беÑперебойное техничеÑкое обÑлуживание и лидирующие позиции, но и полное ÑоответÑтвие новейшим тенденциÑм в интернет-технологиÑÑ…. ÐарÑду Ñ Ñ€ÐµÑˆÐµÐ½Ð¸ÐµÐ¼ наших текущих задач, ÑпециалиÑты «ArtWeb» поÑтоÑнно предлагают немного больше, чем то, Ñ Ñ‡ÐµÐ¼ мы обратилиÑÑŒ, то еÑть решение задач более выÑокого уровнÑ. Внедрение, казалоÑÑŒ бы, фантаÑтичеÑких замыÑлов в развитие Ñайта, иногда опережает даже Ñамое Ñмелое планирование.
+
+ Важным аÑпектом нашего ÑотрудничеÑтва Ñ Â«ArtWeb» ÑвлÑетÑÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾Ñть целенаправленного ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÐºÐ»Ð¸ÐµÐ½Ñ‚Ñкой базой и Ð¾Ð¿Ñ‚Ð¸Ð¼Ð¸Ð·Ð°Ñ†Ð¸Ñ ÐµÐµ не только количеÑтвенных, но и качеÑтвенных показателей, что непоÑредÑтвенно влиÑет на роÑÑ‚ прибыли нашей компании. ОтветÑтвенноÑть, гибкоÑть, умение работать на результат, креативноÑть мышлениÑ, оперативное реагирование на вÑе наши запроÑÑ‹, Ð¿Ð¾Ð»Ð½Ð°Ñ Ð¾ÑведомленноÑть обо вÑем проиÑходÑщем на рынке новейших интернет-технологий и отчаÑти их авторÑÐºÐ°Ñ Ñ€Ð°Ð·Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ° – отличительные характериÑтики нашего надежного партнера – компании «ArtWeb».
+
+ Ðа протÑжении вÑего периода ÑотрудничеÑтва у Ð½Ð°Ñ Ð½Ðµ было повода уÑомнитьÑÑ Ð² том, что в «ArtWeb» работают лучшие web-ÑпециалиÑты. СотрудничеÑтво Ñ Â«ArtWeb» ÑвлÑетÑÑ Ð²Ð°Ð¶Ð½Ð¾Ð¹ ÑоÑтавлÑющей лидерÑтва в Ñегменте нашей деÑтельноÑти.
+
+
+
+
+
+
+
+
Сергей Левицкий ПреÑÑ-Ñекретарьukravtodor.gov.ua
+
+
+
+ Укравтодор Ñотрудничает Ñ ÐºÐ¾Ð¼Ð¿Ð°Ð½Ð¸ÐµÐ¹ «ArtWeb» уже около года, в течение которого было реализовано неÑколько Ñложнейших веб-проектов - в кратчайший Ñрок Ñоздана Ð½Ð¾Ð²Ð°Ñ Ð²ÐµÑ€ÑÐ¸Ñ Ð¾Ñ„Ð¸Ñ†Ð¸Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ веб-Ñайта ГоÑагентÑва автомобильных дорог Украины, а также Ñ€Ñд интерактивных веб-приложений, информирующих о ÑоÑтоÑнии проезда и качеÑтве дорожного покрытиÑ.
+
+ С Ñамого начала ÑовмеÑтной работы ÑпециалиÑты компании продемонÑтрировали Ñвой выÑокий профеÑÑионализм, гибкоÑть, и оперативноÑть в решении вÑех возникающих вопроÑов, что позволило модернизировать официальное интернет-предÑтавительÑтво Укравтодора за рекордно короткий Ñрок - 3 меÑÑца. Ð’ то Ð²Ñ€ÐµÐ¼Ñ ÐºÐ°Ðº предыдущую верÑию веб-Ñайта, уÑтаревшую и не функциональную, Ñ€Ñд других компаний-разработчиков пыталиÑÑŒ уÑовершенÑтвовать на протÑжении 9 лет.
+
+ Ðтот уÑпешный опыт продемонÑтрировал ÑффективноÑть ÑотрудничеÑтва Ñ ÐºÐ¾Ð¼Ð¿Ð°Ð½Ð¸ÐµÐ¹ «ArtWeb» и потому вÑе поÑледующие интернет- проекты Укравтодора были переданы в разработку именно ей.
+
+ СпаÑибо руководÑтву и коллективу компании за понимание и поддержку в решении Ñложных и, как правило, чрезвычайно оперативных задач.
+
+ ПреÑÑ-Ñлужба Укравтодора
+
+
+
+
+
+
+
+
+
Ðндрей Богатырь ИÑполнительный менеджер проектаcensor.net.ua
+
+
+
+ Мы обратилиÑÑŒ к ArtWeb Ñ Ñ†ÐµÐ»ÑŒÑŽ улучшить качеÑтво индекÑации Ñайта поиÑковыми ÑиÑтемами и увеличить трафик от ключевых поиÑковых операторов. Ð”Ð»Ñ Ñтого «ArtWeb» нужно было провеÑти анализ наших недоработок по оптимизации и предоÑтавить план уÑовершенÑÑ‚Ð²Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸ Ð¿Ñ€Ð¾Ð´Ð²Ð¸Ð¶ÐµÐ½Ð¸Ñ Ñайта. Главной целью было добитьÑÑ ÑƒÐ²ÐµÐ»Ð¸Ñ‡ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¸Ñ‚Ð¾ÐºÐ° трафика из поиÑковых ÑиÑтем до ÑƒÑ€Ð¾Ð²Ð½Ñ Ð±Ð¾Ð»ÐµÐµ 50 тыÑ. переходов в Ñутки, в итоге через год поÑле Ð¿Ñ€Ð¾Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ñ€Ð°Ð±Ð¾Ñ‚ кумулÑтивный Ñффект дал приток трафика более 200 тыÑÑч переходов в Ñутки.
+
+ Благодарим «ArtWeb» за Ñлаженную и прозрачную ÑиÑтему по взаимодейÑтвию в процеÑÑе работы. Результат ÑотрудничеÑтва Ñ Â«ArtWeb» полноÑтью оправдал ожиданиÑ. Рекомендую вÑем Ñту компанию как профеÑÑионалов в облаÑти Ð¿Ñ€Ð¾Ð´Ð²Ð¸Ð¶ÐµÐ½Ð¸Ñ Ñайта.
+
+
+
+
+
+
+
+
+
+
+
+
Как мы работаем
+
+
+
+
+
Ðнализ тематикии конкурентов
+
+
+
+
+
СборÑемантичеÑкогоÑдра
+
+
+
+
+
+
ÐаÑтройкааналитики
+
+
+
+
+
+
ЗапуÑкпоиÑковойконтекÑтнойрекламы
+
+
+
+
+
+
ЗапуÑкремаркетинга
+
+
+
+
+
ЗапуÑк КМСи рекламына тематичеÑкихплощадках
+
+
+
+
+
Работа Ñ Ð¾Ð±ÑŠÑвлениÑми,ключевыми Ñловамии ценами
+
+
+
+
+
+
+
ОтÑлеживаемKPI
+
+
+
+
+
+
\ No newline at end of file
diff --git a/frontend/views/site/services/cpa.php b/frontend/views/site/services/cpa.php
new file mode 100644
index 0000000..9f1649e
--- /dev/null
+++ b/frontend/views/site/services/cpa.php
@@ -0,0 +1,417 @@
+title = 'РаÑкрутка Ñайта Киев | SEO продвижение интернет-магазина в поиÑковых ÑиÑтемах (Google, ЯндекÑ) Ñео Ð¾Ð¿Ñ‚Ð¸Ð¼Ð¸Ð·Ð°Ñ†Ð¸Ñ ÐšÐ¸ÐµÐ², Харьков, ДнепропетровÑк, Украина';
+$this->params['breadcrumbs'][] = 'CPA';
+
+$this->registerCssFile('/css/service_cpa.css');
+
+$this->registerJsFile('/js/services/cpa.js');
+?>
+
+
+
+ beginContent('@app/views/blocks/services.php', ['tab' => 1]); ?>
+ endContent(); ?>
+
+
+
+
+
+
+
+
+
+
+
ROI,
+ вÑегда прибыльно
+
+
+
+
+
+
+
индивидуальный
+ подход
+
+
+
+
+
ОÑновные
+ CPA-биржи
+
+
+
+
+
ОпытнаÑкоманда
+
+
+
+
+
+
+
+
+
+
Зачем вам CPA-реклама?
+
+
+
+
ПрÑмое взаимодейÑтвие
+ Ñ Ð²ÐµÐ±Ð¼Ð°Ñтерами
+
+
+
+
+
Хороший Ñтарт
+ бизнеÑа
+
+
+
+
Ð’Ñ‹ не завиÑите
+ от Ð¿Ð¾ÐºÐ°Ð·Ð°Ñ‚ÐµÐ»Ñ ÐºÐ¾Ð½Ð²ÐµÑ€Ñий
+
+
+
+
+
Платите, только
+ за Ñовершенную покупку
+
+
+
+
Увеличение продаж
+ и прибыли
+
+
+
+
Ðовые
+ клиентÑкие контакты
+
+
+
+
+
+
+
+
УзнаваемоÑть
+ бренда
+
+
+
+
+
РоÑÑ‚ поÑещаемоÑти
+ Ñайта
+
+
+
+
+
Ðовые клиентÑкие
+ контакты
+
+
+
+
+
Работа Ñ
+ вебмаÑтерами
+
+
+
+
+
Ðе важен показатель
+ конверÑий
+
+
+
+
+
+
+
+ ОÑновные биржи, Ñ ÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ð¼Ð¸ мы работаем
+
+
+
+
+
Команда на проект
+
+
+
+ Ðккаунт-менеджер
+
+
+ Интернет-маркетолог
+
+
+ СпециалиÑÑ‚ по
+ CPA-рекламе
+
+
+
+
+ Дизайнер
+
+
+ Ðналитик
+
+
+
+
+
+
+
5 причин заказать у Ð½Ð°Ñ CPA-рекламу
+
+
+
+
1
+
Мы умеем работать Ñ CPA-биржами
+ от наÑтройки кодов на Ñайте
+ до взаимодейÑтвиÑ
+ Ñ Ð²ÐµÐ±Ð¼Ð°Ñтерами.
+
+
+
+
+
2
+
Поможем проÑчитать процент,
+ который будет макÑимально
+ Ñффективным Ð´Ð»Ñ Ð²Ð°Ñ.
+
+
+
+
+
+
3
+
Баннеры идеально подходÑÑ‚ д
+ Ð»Ñ Ð²ÐµÐ±-маÑтеров
+ (кликабельны и продающие).
+
+
+
+
+
4
+
Мы знаем, как привлекать
+ новых партнеров.
+
+
+
+
+
5
+
ÐаÑтроим внутреннюю ÑиÑтему
+ от “Приведи другаâ€
+ до популÑрного ÑпоÑоба
+ монетизации в вашей тематике.
+
+
+
+
+
Реще мы поÑещаем Ñеминары, конференции, общаемÑÑ, Ñ ÐºÐ¾Ð»Ð»ÐµÐ³Ð°Ð¼Ð¸, обмениваемÑÑ Ð·Ð½Ð°Ð½Ð¸Ñми, читаем профеÑÑиональную литературу.,ПоÑтому и информированы лучше, чем оÑтальные.
+
+
+
+
+
+
+
+
Биржи CPA-рекламы: чем мы можем помочь
+
+
+
Ðто новое веÑние, которое приноÑит прибыль вашим конкурентам. Ð’Ñ‹ же не хотите терÑть потенциальных покупателей? Рглавное, CPA-реклама на 100% прибыльна.
+ ОÑновные биржи, Ñ ÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ð¼Ð¸ мы работаем: SalesDoubler, PrimeLead, Admitad.
+
+
+
+
+
+ В чем же фишка?
+
+ 1. Мы знаем, что популÑрно - менеджер делает
+ предложение, которое дает макÑимальный отклик
+ веб-маÑтеров.
+ 2. Кликабельные баннеры - наш дизайнер знает,
+ какие объÑÐ²Ð»ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¾Ð´Ð°ÑŽÑ‚.
+ 3. Создание внутренней партнерÑкой программы
+ - работа по CPA без поÑредника.
+ 4. Ð’Ñе топовые CPA-биржи - мы налаживаем
+ работу Ñ Ð±Ð¸Ñ€Ð¶Ð°Ð¼Ð¸ и отÑлеживаем конверÑии.
+ 5. ÐаÑтройка аналитики - подключаем данные
+ трафика в Google.Analytics.
+ 6. Ð’Ñе виды прибыльного трафика - мы не
+ ограничиваемÑÑ Ð¸Ñключительно рекламой.
+ 7. Ð“Ð¸Ð±ÐºÐ°Ñ Ð¾Ñ‚Ñ‡ÐµÑ‚Ð½Ð¾Ñть - отдельные отчеты по каждой
+ бирже.
+
+
+
+
+
CPA - Ñто Ð»ÑƒÑ‡ÑˆÐ°Ñ ÑиÑтема
+ Ð´Ð»Ñ Ð²Ð»Ð°Ð´ÐµÐ»ÑŒÑ†ÐµÐ² бизнеÑа.
+ Вы оплачиваете только
+ результат (продажу)
+ и платите процент, который
+ вам выгоден.
+
+
+
+
Светлана БориÑюк менеджер по контекÑтной рекламе,CPC и CPA
+
+
+
+
+
+
ÐÐ°Ñ Ñ€ÐµÐºÐ¾Ð¼ÐµÐ½Ð´ÑƒÑŽÑ‚Ð·Ð° результаты, а не краÑивые отчеты
+
+
+
+
+
+
+
Ð¡Ð¾Ð»Ð¾Ð¼Ñ–Ñ Ð¡Ð¸Ð²Ð¸Ðº Маркетинг-менеджерextremstyle.ua
+
+
+
+ ÐšÐ¾Ð¼Ð¿Ð°Ð½Ð¸Ñ Â«ArtWeb» Ñопровождает Ð½Ð°Ñ Ñ Ñамого начала деÑтельноÑти в Ñети интернет. Ð Ñто уже более деÑÑти лет. ДолгоÑрочноÑть ÑотрудничеÑтва ÑвлÑетÑÑ Ð»ÑƒÑ‡ÑˆÐ¸Ð¼ показателем его уÑпешноÑти и Ð²Ð·Ð°Ð¸Ð¼Ð¾Ð¿Ð¾Ð½Ð¸Ð¼Ð°Ð½Ð¸Ñ Ð½Ð° пути Ñ€ÐµÑˆÐµÐ½Ð¸Ñ Ð²Ð¾Ð·Ð½Ð¸ÐºÐ°ÑŽÑ‰Ð¸Ñ… задач и целей. ЯвлÑÑÑÑŒ Ñоздателем наших Ñайтов, ÐºÐ¾Ð¼Ð¿Ð°Ð½Ð¸Ñ Â«ArtWeb» обеÑпечивает не только их беÑперебойное техничеÑкое обÑлуживание и лидирующие позиции, но и полное ÑоответÑтвие новейшим тенденциÑм в интернет-технологиÑÑ…. ÐарÑду Ñ Ñ€ÐµÑˆÐµÐ½Ð¸ÐµÐ¼ наших текущих задач, ÑпециалиÑты «ArtWeb» поÑтоÑнно предлагают немного больше, чем то, Ñ Ñ‡ÐµÐ¼ мы обратилиÑÑŒ, то еÑть решение задач более выÑокого уровнÑ. Внедрение, казалоÑÑŒ бы, фантаÑтичеÑких замыÑлов в развитие Ñайта, иногда опережает даже Ñамое Ñмелое планирование.
+
+ Важным аÑпектом нашего ÑотрудничеÑтва Ñ Â«ArtWeb» ÑвлÑетÑÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾Ñть целенаправленного ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÐºÐ»Ð¸ÐµÐ½Ñ‚Ñкой базой и Ð¾Ð¿Ñ‚Ð¸Ð¼Ð¸Ð·Ð°Ñ†Ð¸Ñ ÐµÐµ не только количеÑтвенных, но и качеÑтвенных показателей, что непоÑредÑтвенно влиÑет на роÑÑ‚ прибыли нашей компании. ОтветÑтвенноÑть, гибкоÑть, умение работать на результат, креативноÑть мышлениÑ, оперативное реагирование на вÑе наши запроÑÑ‹, Ð¿Ð¾Ð»Ð½Ð°Ñ Ð¾ÑведомленноÑть обо вÑем проиÑходÑщем на рынке новейших интернет-технологий и отчаÑти их авторÑÐºÐ°Ñ Ñ€Ð°Ð·Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ° – отличительные характериÑтики нашего надежного партнера – компании «ArtWeb».
+
+ Ðа протÑжении вÑего периода ÑотрудничеÑтва у Ð½Ð°Ñ Ð½Ðµ было повода уÑомнитьÑÑ Ð² том, что в «ArtWeb» работают лучшие web-ÑпециалиÑты. СотрудничеÑтво Ñ Â«ArtWeb» ÑвлÑетÑÑ Ð²Ð°Ð¶Ð½Ð¾Ð¹ ÑоÑтавлÑющей лидерÑтва в Ñегменте нашей деÑтельноÑти.
+
+
+
+
+
+
+
+
Сергей Левицкий ПреÑÑ-Ñекретарьukravtodor.gov.ua
+
+
+
+ Укравтодор Ñотрудничает Ñ ÐºÐ¾Ð¼Ð¿Ð°Ð½Ð¸ÐµÐ¹ «ArtWeb» уже около года, в течение которого было реализовано неÑколько Ñложнейших веб-проектов - в кратчайший Ñрок Ñоздана Ð½Ð¾Ð²Ð°Ñ Ð²ÐµÑ€ÑÐ¸Ñ Ð¾Ñ„Ð¸Ñ†Ð¸Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ веб-Ñайта ГоÑагентÑва автомобильных дорог Украины, а также Ñ€Ñд интерактивных веб-приложений, информирующих о ÑоÑтоÑнии проезда и качеÑтве дорожного покрытиÑ.
+
+ С Ñамого начала ÑовмеÑтной работы ÑпециалиÑты компании продемонÑтрировали Ñвой выÑокий профеÑÑионализм, гибкоÑть, и оперативноÑть в решении вÑех возникающих вопроÑов, что позволило модернизировать официальное интернет-предÑтавительÑтво Укравтодора за рекордно короткий Ñрок - 3 меÑÑца. Ð’ то Ð²Ñ€ÐµÐ¼Ñ ÐºÐ°Ðº предыдущую верÑию веб-Ñайта, уÑтаревшую и не функциональную, Ñ€Ñд других компаний-разработчиков пыталиÑÑŒ уÑовершенÑтвовать на протÑжении 9 лет.
+
+ Ðтот уÑпешный опыт продемонÑтрировал ÑффективноÑть ÑотрудничеÑтва Ñ ÐºÐ¾Ð¼Ð¿Ð°Ð½Ð¸ÐµÐ¹ «ArtWeb» и потому вÑе поÑледующие интернет- проекты Укравтодора были переданы в разработку именно ей.
+
+ СпаÑибо руководÑтву и коллективу компании за понимание и поддержку в решении Ñложных и, как правило, чрезвычайно оперативных задач.
+
+ ПреÑÑ-Ñлужба Укравтодора
+
+
+
+
+
+
+
+
+
Ðндрей Богатырь ИÑполнительный менеджер проектаcensor.net.ua
+
+
+
+ Мы обратилиÑÑŒ к ArtWeb Ñ Ñ†ÐµÐ»ÑŒÑŽ улучшить качеÑтво индекÑации Ñайта поиÑковыми ÑиÑтемами и увеличить трафик от ключевых поиÑковых операторов. Ð”Ð»Ñ Ñтого «ArtWeb» нужно было провеÑти анализ наших недоработок по оптимизации и предоÑтавить план уÑовершенÑÑ‚Ð²Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸ Ð¿Ñ€Ð¾Ð´Ð²Ð¸Ð¶ÐµÐ½Ð¸Ñ Ñайта. Главной целью было добитьÑÑ ÑƒÐ²ÐµÐ»Ð¸Ñ‡ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¸Ñ‚Ð¾ÐºÐ° трафика из поиÑковых ÑиÑтем до ÑƒÑ€Ð¾Ð²Ð½Ñ Ð±Ð¾Ð»ÐµÐµ 50 тыÑ. переходов в Ñутки, в итоге через год поÑле Ð¿Ñ€Ð¾Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ñ€Ð°Ð±Ð¾Ñ‚ кумулÑтивный Ñффект дал приток трафика более 200 тыÑÑч переходов в Ñутки.
+
+ Благодарим «ArtWeb» за Ñлаженную и прозрачную ÑиÑтему по взаимодейÑтвию в процеÑÑе работы. Результат ÑотрудничеÑтва Ñ Â«ArtWeb» полноÑтью оправдал ожиданиÑ. Рекомендую вÑем Ñту компанию как профеÑÑионалов в облаÑти Ð¿Ñ€Ð¾Ð´Ð²Ð¸Ð¶ÐµÐ½Ð¸Ñ Ñайта.
+
+
+
+
+
+
+
+
+
+
+
+
Как мы работаем
+
+
+
+
+
+
Ðнализ
+ тематики
+ у конкурентов
+
+
+
+
+
+
Добавление Ñайта
+ в CPA-биржи
+
+
+
+
+
+
+
+
ÐаÑтройка
+ аналитики
+
+
+
+
+
+
+
Создание Ñтратегии
+ привлечениÑ
+ веб-маÑтеров
+
+
+
+
+
+
+
+
+
+
Работа ÑобъÑвлениÑми,
+ процентами,партнерами
+
+
+
+
+
+
ВзаимодейÑтвие
+ Ñ Ð²ÐµÐ±-маÑтерами
+ и биржей
+
+
+
+
+
+
+
Созданиедополнительныхматериалов
+
+
+
+
+
+
+
+
ОтÑлеживание
+ KPI
+
+
+
+
+
+
+
diff --git a/frontend/views/site/services/cpc.php b/frontend/views/site/services/cpc.php
new file mode 100644
index 0000000..6e89a2d
--- /dev/null
+++ b/frontend/views/site/services/cpc.php
@@ -0,0 +1,375 @@
+title = 'РаÑкрутка Ñайта Киев | SEO продвижение интернет-магазина в поиÑковых ÑиÑтемах (Google, ЯндекÑ) Ñео Ð¾Ð¿Ñ‚Ð¸Ð¼Ð¸Ð·Ð°Ñ†Ð¸Ñ ÐšÐ¸ÐµÐ², Харьков, ДнепропетровÑк, Украина';
+$this->params['breadcrumbs'][] = 'CPC';
+
+$this->registerCssFile('/css/service_cpc.css');
+
+$this->registerJsFile('/js/services/cpc.js');
+?>
+
+
+
+ beginContent('@app/views/blocks/services.php', ['tab' => 1]); ?>
+ endContent(); ?>
+
+
+
+
+
+
+
+
+
+
+
+
+
ROI,вÑегда прибыльно
+
+
+
+
Индивидуальныйподход
+
+
+
+
ДополнительныхиÑточников
+
+
+
+
ПрайÑ-агрегаторы,маркетплейÑÑ‹,тизерные Ñети
+
+
+
+
+
+
+
+
+
Зачем вам наÑтройка аналитики на Ñайте?
+
+
+
+
Ðовые иÑточникиклиентов
+
+
+
+
РоÑÑ‚ узнаваемоÑтибренда
+
+
+
+
РоÑÑ‚ поÑещаемоÑтиÑайта
+
+
+
+
Работа под контролемROI
+
+
+
+
Дополнительныйремаркетинг
+
+
+
+
+
+
+
+
Работа под контролемROI
+
+
+
+
Большие объемытрафика
+
+
+
+
Размещениена крупных порталах
+
+
+
+
ПроработкатематичеÑких доноров
+
+
+
+
ÐвтоматизациÑпроцеÑÑов
+
+
+
+
+
+
+
КейÑ
+
+
+
+
+
+
+
+
+
+
ПрибыльныхиÑточниковтрафика
+
+
+
+
+
ТОП позиций впрайÑ-агрегаторах
+
+
+
+
+
+
+
+
Команда на проект
+
+
+
+ Ðккаунт-менеджер
+
+
+ Интернет-маркетолог
+
+
+ СпециалиÑÑ‚ попокликовой рекламе
+
+
+
+
+ Дизайнер
+
+
+ Ðналитик
+
+
+
+
+
+
+
5 причин заказать у наÑ
+ покликовую (CPC) рекламу
+
+
+
+
+
1
+
Ваш Ñайт получает
+ макÑимальный охват в интернете.
+
+
+
+
+
2
+
Вы получаете новых клиентов.
+ И главное:
+ получаете их Ñ Ð¿Ð¾Ð»Ð¾Ð¶Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ñ‹Ð¼
+ ROI.
+
+
+
+
+
+
3
+
Ðовые иÑточники ремаркетинга.
+ Ваши клиенты точно не забудут о ваÑ.
+
+
+
4
+
Мы прорабатываем вÑе
+ возможные иÑточники,
+ в том чиÑле информационные
+ Ñайты в тематике.
+
+
+
+
+
5
+
С нами вы уверены,
+ что получаете прибыль.
+
+
+
+
+
Реще мы поÑещаем Ñеминары, конференции, общаемÑÑ, Ñ ÐºÐ¾Ð»Ð»ÐµÐ³Ð°Ð¼Ð¸, обмениваемÑÑ Ð·Ð½Ð°Ð½Ð¸Ñми, читаем профеÑÑиональную литературу.,ПоÑтому и информированы лучше, чем оÑтальные.
+
+
+
+
+
+
+
+
ÐŸÐ¾ÐºÐ»Ð¸ÐºÐ¾Ð²Ð°Ñ Ð¾Ð¿Ð»Ð°Ñ‚Ð° рекламы -лидогенератор нового поколениÑ
+
+
+
+
Сколько иÑточников трафика вы знаете? Как показывает практика, Ñто 3-6 наиболее популÑрных иÑточника. Ðо в онлайне Ñтот ÑпиÑок намного больше. Ðто прайÑ-агрегаторы (Yandex.Market, Hotline, Price и др.), маркетплейÑÑ‹ (Prom, Tiu, All.biz, Wikimart и др.), тизерные Ñети (MarketGid, TrafMag, RedTram и др.), реклама у прÑмых рекламодателей (Ñ Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡ÐµÑким подÑчетом). Ð’Ñ‹ вероÑтно видели ваших конкурентов на других Ñайтах и думали, а как же они Ñюда попали, а Ñамое главное - выгодно ли тут находитьÑÑ.
+
Тогда вы пришли по адреÑу.
+
+
+
+
В чем же фишка?
+
+ 1. Мы отлично Ñчитаем - в Ñтой работе нужно
+ поÑтоÑнно проÑчитывать затраты и прибыли.
+ 2. Ðнализ конкурентов - перед запуÑком работ,
+ мы находим вÑе иÑточники, которые приноÑÑÑ‚
+ прибыль вашим конкурентам.
+ 3. Контроль ROI - производитÑÑ Ð¿ÐµÑ€ÐµÑчет цены на
+ клик раз в 1-30 дней в завиÑимоÑти от трафика.
+ 4. Полный подбор доноров - 100% проработка
+ ключевых запроÑов на тему видимоÑти
+ возможных доноров.
+ 5. ÐаÑтройка аналитики - подключение конверÑий
+ и затрат в один отчет.
+ 6. Ремаркетинг - Ñ€Ð¾Ñ‚Ð°Ñ†Ð¸Ñ Ð´Ð¸Ð½Ð°Ð¼Ð¸Ñ‡ÐµÑких товаров и
+ объÑвлений там, где Ñто возможно.
+ 7. Ð“Ð¸Ð±ÐºÐ°Ñ Ð¾Ñ‚Ñ‡ÐµÑ‚Ð½Ð¾Ñть - по каждому ÑервиÑу
+ готовитÑÑ Ð¾Ñ‚Ð´ÐµÐ»ÑŒÐ½Ñ‹Ð¹ отчет.
+
+
+
+
Ðаша ÐºÐ¾Ð¼Ð¿Ð°Ð½Ð¸Ñ Ð¼Ð¾Ð¶ÐµÑ‚
+ обеÑпечить вам 100%
+ лидогенерацию из вÑех
+ возможных иÑточников.
+
+
+
+
Ð®Ð»Ð¸Ñ Ð¡Ð¾Ñ‚Ð½Ð¸ÐºÐ¾Ð²Ð° руководитель отдела лоÑльноÑти
+
+
+
+
+
+
+
ÐÐ°Ñ Ñ€ÐµÐºÐ¾Ð¼ÐµÐ½Ð´ÑƒÑŽÑ‚Ð·Ð° результаты, а не краÑивые отчеты
+
+
+
+
+
+
+
Ð¡Ð¾Ð»Ð¾Ð¼Ñ–Ñ Ð¡Ð¸Ð²Ð¸Ðº Маркетинг-менеджерextremstyle.ua
+
+
+
+ ÐšÐ¾Ð¼Ð¿Ð°Ð½Ð¸Ñ Â«ArtWeb» Ñопровождает Ð½Ð°Ñ Ñ Ñамого начала деÑтельноÑти в Ñети интернет. Ð Ñто уже более деÑÑти лет. ДолгоÑрочноÑть ÑотрудничеÑтва ÑвлÑетÑÑ Ð»ÑƒÑ‡ÑˆÐ¸Ð¼ показателем его уÑпешноÑти и Ð²Ð·Ð°Ð¸Ð¼Ð¾Ð¿Ð¾Ð½Ð¸Ð¼Ð°Ð½Ð¸Ñ Ð½Ð° пути Ñ€ÐµÑˆÐµÐ½Ð¸Ñ Ð²Ð¾Ð·Ð½Ð¸ÐºÐ°ÑŽÑ‰Ð¸Ñ… задач и целей. ЯвлÑÑÑÑŒ Ñоздателем наших Ñайтов, ÐºÐ¾Ð¼Ð¿Ð°Ð½Ð¸Ñ Â«ArtWeb» обеÑпечивает не только их беÑперебойное техничеÑкое обÑлуживание и лидирующие позиции, но и полное ÑоответÑтвие новейшим тенденциÑм в интернет-технологиÑÑ…. ÐарÑду Ñ Ñ€ÐµÑˆÐµÐ½Ð¸ÐµÐ¼ наших текущих задач, ÑпециалиÑты «ArtWeb» поÑтоÑнно предлагают немного больше, чем то, Ñ Ñ‡ÐµÐ¼ мы обратилиÑÑŒ, то еÑть решение задач более выÑокого уровнÑ. Внедрение, казалоÑÑŒ бы, фантаÑтичеÑких замыÑлов в развитие Ñайта, иногда опережает даже Ñамое Ñмелое планирование.
+
+ Важным аÑпектом нашего ÑотрудничеÑтва Ñ Â«ArtWeb» ÑвлÑетÑÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾Ñть целенаправленного ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÐºÐ»Ð¸ÐµÐ½Ñ‚Ñкой базой и Ð¾Ð¿Ñ‚Ð¸Ð¼Ð¸Ð·Ð°Ñ†Ð¸Ñ ÐµÐµ не только количеÑтвенных, но и качеÑтвенных показателей, что непоÑредÑтвенно влиÑет на роÑÑ‚ прибыли нашей компании. ОтветÑтвенноÑть, гибкоÑть, умение работать на результат, креативноÑть мышлениÑ, оперативное реагирование на вÑе наши запроÑÑ‹, Ð¿Ð¾Ð»Ð½Ð°Ñ Ð¾ÑведомленноÑть обо вÑем проиÑходÑщем на рынке новейших интернет-технологий и отчаÑти их авторÑÐºÐ°Ñ Ñ€Ð°Ð·Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ° – отличительные характериÑтики нашего надежного партнера – компании «ArtWeb».
+
+ Ðа протÑжении вÑего периода ÑотрудничеÑтва у Ð½Ð°Ñ Ð½Ðµ было повода уÑомнитьÑÑ Ð² том, что в «ArtWeb» работают лучшие web-ÑпециалиÑты. СотрудничеÑтво Ñ Â«ArtWeb» ÑвлÑетÑÑ Ð²Ð°Ð¶Ð½Ð¾Ð¹ ÑоÑтавлÑющей лидерÑтва в Ñегменте нашей деÑтельноÑти.
+
+
+
+
+
+
+
+
Сергей Левицкий ПреÑÑ-Ñекретарьukravtodor.gov.ua
+
+
+
+ Укравтодор Ñотрудничает Ñ ÐºÐ¾Ð¼Ð¿Ð°Ð½Ð¸ÐµÐ¹ «ArtWeb» уже около года, в течение которого было реализовано неÑколько Ñложнейших веб-проектов - в кратчайший Ñрок Ñоздана Ð½Ð¾Ð²Ð°Ñ Ð²ÐµÑ€ÑÐ¸Ñ Ð¾Ñ„Ð¸Ñ†Ð¸Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ веб-Ñайта ГоÑагентÑва автомобильных дорог Украины, а также Ñ€Ñд интерактивных веб-приложений, информирующих о ÑоÑтоÑнии проезда и качеÑтве дорожного покрытиÑ.
+
+ С Ñамого начала ÑовмеÑтной работы ÑпециалиÑты компании продемонÑтрировали Ñвой выÑокий профеÑÑионализм, гибкоÑть, и оперативноÑть в решении вÑех возникающих вопроÑов, что позволило модернизировать официальное интернет-предÑтавительÑтво Укравтодора за рекордно короткий Ñрок - 3 меÑÑца. Ð’ то Ð²Ñ€ÐµÐ¼Ñ ÐºÐ°Ðº предыдущую верÑию веб-Ñайта, уÑтаревшую и не функциональную, Ñ€Ñд других компаний-разработчиков пыталиÑÑŒ уÑовершенÑтвовать на протÑжении 9 лет.
+
+ Ðтот уÑпешный опыт продемонÑтрировал ÑффективноÑть ÑотрудничеÑтва Ñ ÐºÐ¾Ð¼Ð¿Ð°Ð½Ð¸ÐµÐ¹ «ArtWeb» и потому вÑе поÑледующие интернет- проекты Укравтодора были переданы в разработку именно ей.
+
+ СпаÑибо руководÑтву и коллективу компании за понимание и поддержку в решении Ñложных и, как правило, чрезвычайно оперативных задач.
+
+ ПреÑÑ-Ñлужба Укравтодора
+
+
+
+
+
+
+
+
+
Ðндрей Богатырь ИÑполнительный менеджер проектаcensor.net.ua
+
+
+
+ Мы обратилиÑÑŒ к ArtWeb Ñ Ñ†ÐµÐ»ÑŒÑŽ улучшить качеÑтво индекÑации Ñайта поиÑковыми ÑиÑтемами и увеличить трафик от ключевых поиÑковых операторов. Ð”Ð»Ñ Ñтого «ArtWeb» нужно было провеÑти анализ наших недоработок по оптимизации и предоÑтавить план уÑовершенÑÑ‚Ð²Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸ Ð¿Ñ€Ð¾Ð´Ð²Ð¸Ð¶ÐµÐ½Ð¸Ñ Ñайта. Главной целью было добитьÑÑ ÑƒÐ²ÐµÐ»Ð¸Ñ‡ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¸Ñ‚Ð¾ÐºÐ° трафика из поиÑковых ÑиÑтем до ÑƒÑ€Ð¾Ð²Ð½Ñ Ð±Ð¾Ð»ÐµÐµ 50 тыÑ. переходов в Ñутки, в итоге через год поÑле Ð¿Ñ€Ð¾Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ñ€Ð°Ð±Ð¾Ñ‚ кумулÑтивный Ñффект дал приток трафика более 200 тыÑÑч переходов в Ñутки.
+
+ Благодарим «ArtWeb» за Ñлаженную и прозрачную ÑиÑтему по взаимодейÑтвию в процеÑÑе работы. Результат ÑотрудничеÑтва Ñ Â«ArtWeb» полноÑтью оправдал ожиданиÑ. Рекомендую вÑем Ñту компанию как профеÑÑионалов в облаÑти Ð¿Ñ€Ð¾Ð´Ð²Ð¸Ð¶ÐµÐ½Ð¸Ñ Ñайта.
+
+
+
+
+
+
+
+
+
+
+
+
Как мы работаем
+
+
+
+
+
Ðнализ тематикии конкурентов
+
+
+
+
+
ПоиÑкиÑÑ‚Ð¾Ñ‡Ð½Ð¸ÐºÐ¾Ð²Ñ Ð²Ñ‹ÑокойвидимоÑтью
+
+
+
+
+
+
ÐаÑтройкааналитики
+
+
+
+
+
ЗапуÑкпрайÑ-агрегаторов
+
+
+
+
+
+
+
ЗапуÑкплейÑмаркетов
+
+
+
+
+
+
ЗапуÑктизерных Ñетей
+
+
+
+
+
Работа Ñ Ð¾Ð±ÑŠÑвлениÑми,ключевыми Ñловами иценами
+
+
+
+
+
+
+
ОтÑлеживаемKPI
+
+
+
+
+
+
diff --git a/frontend/views/site/services/design.php b/frontend/views/site/services/design.php
new file mode 100644
index 0000000..6162d11
--- /dev/null
+++ b/frontend/views/site/services/design.php
@@ -0,0 +1,395 @@
+title = 'РаÑкрутка Ñайта Киев | SEO продвижение интернет-магазина в поиÑковых ÑиÑтемах (Google, ЯндекÑ) Ñео Ð¾Ð¿Ñ‚Ð¸Ð¼Ð¸Ð·Ð°Ñ†Ð¸Ñ ÐšÐ¸ÐµÐ², Харьков, ДнепропетровÑк, Украина';
+$this->params['breadcrumbs'][] = 'Дизайн';
+
+$this->registerCssFile('/css/service_design.css');
+
+$this->registerJsFile('/js/services/design.js');
+?>
+
+
+ beginContent('@app/views/blocks/services.php', ['tab' => 3]); ?>
+ endContent(); ?>
+
+
+
+
+
+
+
+
+
+
+
МакетовÑайтов
+
+
+
+
+
+
индивидуальныйподход
+
+
+
+
+
Ð’Ñ‹ÑокиеконверÑии
+
+
+
+
+
От баннера
+ до портала
+
+
+
+
+
+
+
+
+
+
+
Зачем вам крутой дизайн Ñайта?
+
+
+
+
Ð’Ñ‹Ñокие конверÑии
+
+
+
+
ЛоÑльноÑтьпоÑетителей
+
+
+
+
УдобÑÑ‚Ð²Ð¾Ð´Ð»Ñ ÐºÐ»Ð¸ÐµÐ½Ñ‚Ð¾Ð²
+
+
+
+
+
+
ЦелоÑтноÑть дизайнаот SMM до email
+
+
+
+
Кликабельные баннеры
+
+
+
+
+
+
+
Создание бренд-бука
+
+
+
+
Разработка логотипа
+
+
+
+
ÐŸÑ€Ð¾Ð´Ð°ÑŽÑ‰Ð°Ñ Ñ€ÐµÐºÐ»Ð°Ð¼Ð°
+
+
+
+
Оформление товаров
+
+
+
+
+
+
+
+
КейÑ
+
+
+
+
+
+
Создание Ñайта
+
+
+
+
Видеоканалкомпании
+
+
+
+
+
+
+
+
+
+
Команда на проект
+
+
+
+ Проджект-менеджер
+
+
+ Интернет-маркетолог
+
+
+ ЮзабилиÑÑ‚
+
+
+
+
+ Дизайнер
+
+
+ ПрограммиÑÑ‚
+
+
+
+
+
+
+
5 причин заказать у Ð½Ð°Ñ Ñ€ÐµÐ´Ð¸Ð·Ð°Ð¹Ð½ Ñайта
+
+
+
+
1
+
ДоÑÑ‚ÑƒÐ¿Ð½Ð°Ñ Ñ†ÐµÐ½Ð° дизайна Ñайта.
+
+
+
2
+
Ð’Ñ‹Ñокие конверÑии готового продукта.
+
+
+
+
3
+
СоÑтавление Ñтруктуры Ñайта
+ на первом Ñтапе - Ð´ÐµÑ‚Ð°Ð»ÑŒÐ½Ð°Ñ Ð¿Ñ€Ð¾Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ°
+ задач по дизайну.
+
+
+
4
+
Индивидуальные Ñ€ÐµÑˆÐµÐ½Ð¸Ñ - делаем то,
+ что нужно именно вашему проекту.
+
+
+
5
+
Полный ÐºÐ¾Ð¼Ð¿Ð»ÐµÐºÑ Ñ€Ð°Ð±Ð¾Ñ‚
+ от ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ñайта, до вывода его
+ в ТОП-1 тематики.
+
+
+
+
Реще мы поÑещаем Ñеминары, конференции, общаемÑÑ, Ñ ÐºÐ¾Ð»Ð»ÐµÐ³Ð°Ð¼Ð¸, обмениваемÑÑ Ð·Ð½Ð°Ð½Ð¸Ñми, читаем профеÑÑиональную литературу.,ПоÑтому и информированы лучше, чем оÑтальные.
+
+
+
+
+
+
+
+
Дизайн Ñайта Ð´Ð»Ñ Ð»Ð¸Ð´ÐµÑ€Ð¾Ð²
+
+
+
+
+ Вам нужно качеÑтвенное меÑто продаж, которое будет
+ решать задачи бизнеÑа, но кроме Ñтого вы хотите, чтобы
+ оно было трендовым, запоминающимÑÑ Ð¸ ÑтатуÑным?
+ Вы хотите, чтобы любой ваш конкурент и клиент, только
+ взглÑнув на Ñайт, Ñразу понÑл, что вы лидер тематики?
+ Вам нужна целоÑтноÑть и запоминаемоÑть бренда на вÑех
+ иÑточниках информации от рекламы до пиÑем?
+
+
Тогда вы пришли по адреÑу.
+
+
+
+
+ 1. Мы Ñтавим и решаем задачи - наши ÑпециалиÑты помогут выбрать ключевые показатели Ð´Ð»Ñ Ð´Ð¸Ð·Ð°Ð¹Ð½Ð°.
+ 2. Сделаем лидером тематики - у Ð½Ð°Ñ Ð±Ð¾Ð»ÑŒÑˆÐ¾Ð¹ опыт разработки дизайнов Ð´Ð»Ñ Ð¢ÐžÐŸ-Ñайтов.
+ 3. Современный дизайн - мы в тренде.
+ 4. Ðнализ конкурентов - ваш Ñайт получет вÑе “вкуÑные†решениÑ, которые еÑть в тематике.
+ 5. КомплекÑный подход - делаем один Ñтиль Ð´Ð»Ñ Ð²Ñех продуктов от логотипа и бренд-бука до email-раÑÑылки и дизайн групп в Ñоциальных ÑетÑÑ….
+ 6. Юзабилити-Ñ€ÐµÑˆÐµÐ½Ð¸Ñ - Ñайт решает вÑе поÑтавленные задачи и при Ñтом удобный Ð´Ð»Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»ÐµÐ¹.
+ 7. Индивидуальный подход - не иÑпользуем шаблонные дизайны.
+
+
+
+
+
Ðаши дизайны Ð´Ð»Ñ Ñайтов вÑегдаÑделаны Ñ Ð»ÑŽÐ±Ð¾Ð²ÑŒÑŽ, мы умеем делать клаÑÑные проекты, которые любÑÑ‚ не только поиÑковые ÑиÑтемы, но и ваши клиенты. СреднÑÑ Ð³Ð»ÑƒÐ±Ð¸Ð½Ð° по вÑем коммерчеÑким проектам больше деÑÑти проÑмотров на поÑетителÑ, ÑреднÑÑ ÐºÐ¾Ð½Ð²ÐµÑ€ÑÐ¸Ñ Ð±Ð¾Ð»ÑŒÑˆÐµ 2,5%. Вам Ñтоит доверитьÑÑ Ð¿Ñ€Ð¾Ñ„ÐµÑÑионалам.
+
+
+
+
+
Ðндрей Белый руководитель отдела разработки
+
+
+
+
+
+
+
ÐÐ°Ñ Ñ€ÐµÐºÐ¾Ð¼ÐµÐ½Ð´ÑƒÑŽÑ‚Ð·Ð° результаты, а не краÑивые отчеты
+
+
+
+
+
+
+
Ð¡Ð¾Ð»Ð¾Ð¼Ñ–Ñ Ð¡Ð¸Ð²Ð¸Ðº Маркетинг-менеджерextremstyle.ua
+
+
+
+ ÐšÐ¾Ð¼Ð¿Ð°Ð½Ð¸Ñ Â«ArtWeb» Ñопровождает Ð½Ð°Ñ Ñ Ñамого начала деÑтельноÑти в Ñети интернет. Ð Ñто уже более деÑÑти лет. ДолгоÑрочноÑть ÑотрудничеÑтва ÑвлÑетÑÑ Ð»ÑƒÑ‡ÑˆÐ¸Ð¼ показателем его уÑпешноÑти и Ð²Ð·Ð°Ð¸Ð¼Ð¾Ð¿Ð¾Ð½Ð¸Ð¼Ð°Ð½Ð¸Ñ Ð½Ð° пути Ñ€ÐµÑˆÐµÐ½Ð¸Ñ Ð²Ð¾Ð·Ð½Ð¸ÐºÐ°ÑŽÑ‰Ð¸Ñ… задач и целей. ЯвлÑÑÑÑŒ Ñоздателем наших Ñайтов, ÐºÐ¾Ð¼Ð¿Ð°Ð½Ð¸Ñ Â«ArtWeb» обеÑпечивает не только их беÑперебойное техничеÑкое обÑлуживание и лидирующие позиции, но и полное ÑоответÑтвие новейшим тенденциÑм в интернет-технологиÑÑ…. ÐарÑду Ñ Ñ€ÐµÑˆÐµÐ½Ð¸ÐµÐ¼ наших текущих задач, ÑпециалиÑты «ArtWeb» поÑтоÑнно предлагают немного больше, чем то, Ñ Ñ‡ÐµÐ¼ мы обратилиÑÑŒ, то еÑть решение задач более выÑокого уровнÑ. Внедрение, казалоÑÑŒ бы, фантаÑтичеÑких замыÑлов в развитие Ñайта, иногда опережает даже Ñамое Ñмелое планирование.
+
+ Важным аÑпектом нашего ÑотрудничеÑтва Ñ Â«ArtWeb» ÑвлÑетÑÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾Ñть целенаправленного ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÐºÐ»Ð¸ÐµÐ½Ñ‚Ñкой базой и Ð¾Ð¿Ñ‚Ð¸Ð¼Ð¸Ð·Ð°Ñ†Ð¸Ñ ÐµÐµ не только количеÑтвенных, но и качеÑтвенных показателей, что непоÑредÑтвенно влиÑет на роÑÑ‚ прибыли нашей компании. ОтветÑтвенноÑть, гибкоÑть, умение работать на результат, креативноÑть мышлениÑ, оперативное реагирование на вÑе наши запроÑÑ‹, Ð¿Ð¾Ð»Ð½Ð°Ñ Ð¾ÑведомленноÑть обо вÑем проиÑходÑщем на рынке новейших интернет-технологий и отчаÑти их авторÑÐºÐ°Ñ Ñ€Ð°Ð·Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ° – отличительные характериÑтики нашего надежного партнера – компании «ArtWeb».
+
+ Ðа протÑжении вÑего периода ÑотрудничеÑтва у Ð½Ð°Ñ Ð½Ðµ было повода уÑомнитьÑÑ Ð² том, что в «ArtWeb» работают лучшие web-ÑпециалиÑты. СотрудничеÑтво Ñ Â«ArtWeb» ÑвлÑетÑÑ Ð²Ð°Ð¶Ð½Ð¾Ð¹ ÑоÑтавлÑющей лидерÑтва в Ñегменте нашей деÑтельноÑти.
+
+
+
+
+
+
+
+
Сергей Левицкий ПреÑÑ-Ñекретарьukravtodor.gov.ua
+
+
+
+ Укравтодор Ñотрудничает Ñ ÐºÐ¾Ð¼Ð¿Ð°Ð½Ð¸ÐµÐ¹ «ArtWeb» уже около года, в течение которого было реализовано неÑколько Ñложнейших веб-проектов - в кратчайший Ñрок Ñоздана Ð½Ð¾Ð²Ð°Ñ Ð²ÐµÑ€ÑÐ¸Ñ Ð¾Ñ„Ð¸Ñ†Ð¸Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ веб-Ñайта ГоÑагентÑва автомобильных дорог Украины, а также Ñ€Ñд интерактивных веб-приложений, информирующих о ÑоÑтоÑнии проезда и качеÑтве дорожного покрытиÑ.
+
+ С Ñамого начала ÑовмеÑтной работы ÑпециалиÑты компании продемонÑтрировали Ñвой выÑокий профеÑÑионализм, гибкоÑть, и оперативноÑть в решении вÑех возникающих вопроÑов, что позволило модернизировать официальное интернет-предÑтавительÑтво Укравтодора за рекордно короткий Ñрок - 3 меÑÑца. Ð’ то Ð²Ñ€ÐµÐ¼Ñ ÐºÐ°Ðº предыдущую верÑию веб-Ñайта, уÑтаревшую и не функциональную, Ñ€Ñд других компаний-разработчиков пыталиÑÑŒ уÑовершенÑтвовать на протÑжении 9 лет.
+
+ Ðтот уÑпешный опыт продемонÑтрировал ÑффективноÑть ÑотрудничеÑтва Ñ ÐºÐ¾Ð¼Ð¿Ð°Ð½Ð¸ÐµÐ¹ «ArtWeb» и потому вÑе поÑледующие интернет- проекты Укравтодора были переданы в разработку именно ей.
+
+ СпаÑибо руководÑтву и коллективу компании за понимание и поддержку в решении Ñложных и, как правило, чрезвычайно оперативных задач.
+
+ ПреÑÑ-Ñлужба Укравтодора
+
+
+
+
+
+
+
+
+
Ðндрей Богатырь ИÑполнительный менеджер проектаcensor.net.ua
+
+
+
+ Мы обратилиÑÑŒ к ArtWeb Ñ Ñ†ÐµÐ»ÑŒÑŽ улучшить качеÑтво индекÑации Ñайта поиÑковыми ÑиÑтемами и увеличить трафик от ключевых поиÑковых операторов. Ð”Ð»Ñ Ñтого «ArtWeb» нужно было провеÑти анализ наших недоработок по оптимизации и предоÑтавить план уÑовершенÑÑ‚Ð²Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸ Ð¿Ñ€Ð¾Ð´Ð²Ð¸Ð¶ÐµÐ½Ð¸Ñ Ñайта. Главной целью было добитьÑÑ ÑƒÐ²ÐµÐ»Ð¸Ñ‡ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¸Ñ‚Ð¾ÐºÐ° трафика из поиÑковых ÑиÑтем до ÑƒÑ€Ð¾Ð²Ð½Ñ Ð±Ð¾Ð»ÐµÐµ 50 тыÑ. переходов в Ñутки, в итоге через год поÑле Ð¿Ñ€Ð¾Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ñ€Ð°Ð±Ð¾Ñ‚ кумулÑтивный Ñффект дал приток трафика более 200 тыÑÑч переходов в Ñутки.
+
+ Благодарим «ArtWeb» за Ñлаженную и прозрачную ÑиÑтему по взаимодейÑтвию в процеÑÑе работы. Результат ÑотрудничеÑтва Ñ Â«ArtWeb» полноÑтью оправдал ожиданиÑ. Рекомендую вÑем Ñту компанию как профеÑÑионалов в облаÑти Ð¿Ñ€Ð¾Ð´Ð²Ð¸Ð¶ÐµÐ½Ð¸Ñ Ñайта.
+
+
+
+
+
+
+
+
+
+
+
+
Как мы работаем
+
+
+
+
+
+
Ðнализ
+ тематики
+ у конкурентов
+
+
+
+
+
+
ÐапиÑание
+ бизнеÑ-целей
+
+
+
+
+
+
+
Выбортипичных
+ аудиторий
+
+
+
+
+
+
+
ÐапиÑание целей
+ каждой из
+ аудиторий
+
+
+
+
+
+
+
Передача
+ готового
+ продукта
+
+
+
+
+
+
+
Создание
+ дизайна
+ Ñайта
+
+
+
+
+
+
+
+
Создание
+ Ñтруктуры
+ Ñайта
+
+
+
+
+
+
+
+
+
Юзабилити-
+ макетирование
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/frontend/views/site/services/email.php b/frontend/views/site/services/email.php
new file mode 100644
index 0000000..f8bd43c
--- /dev/null
+++ b/frontend/views/site/services/email.php
@@ -0,0 +1,391 @@
+title = 'РаÑкрутка Ñайта Киев | SEO продвижение интернет-магазина в поиÑковых ÑиÑтемах (Google, ЯндекÑ) Ñео Ð¾Ð¿Ñ‚Ð¸Ð¼Ð¸Ð·Ð°Ñ†Ð¸Ñ ÐšÐ¸ÐµÐ², Харьков, ДнепропетровÑк, Украина';
+$this->params['breadcrumbs'][] = 'EMAIL';
+
+$this->registerCssFile('/css/service_email.css');
+
+$this->registerJsFile('/js/services/email.js');
+?>
+
+
+ beginContent('@app/views/blocks/services.php', ['tab' => 2]); ?>
+ endContent(); ?>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Индивидуальныйподход
+
+
+
+
+
+
ДейÑтвеннаÑÑтратегиÑ
+
+
+
+
+
+
ОпытнаÑкоманда
+
+
+
+
+
+
+
+
+
+
+
+
+
+
ÐœÐ¸Ð»Ð»Ð¸Ð¾Ð½Ð½Ð°Ñ Ð±Ð°Ð·Ð°Ð¿Ð¾Ð´Ð¿Ð¸Ñчиков
+
+
+
+
ÐÐºÐ¾Ð½Ð¾Ð¼Ð¸Ñ Ð²Ñ€ÐµÐ¼ÐµÐ½Ð¸
+ на раÑÑылку
+
+
+
+
Ð•Ð¶ÐµÐ´Ð½ÐµÐ²Ð½Ð°Ñ Ð²ÐµÑ€Ñтка
+ новых пиÑем
+
+
+
+
Повторные продажи
+
+
+
+
Оперативноеинформирование обакциÑÑ… и Ñкидках
+
+
+
+
ÐžÐ±Ñ€Ð°Ñ‚Ð½Ð°Ñ ÑвÑÐ·ÑŒÑ Ð¿Ð¾ÐºÑƒÐ¿Ð°Ñ‚ÐµÐ»Ñми
+
+
+
+
Удержание текущихклиентов
+
+
+
+
ЛоÑльноÑть подпиÑчиков
+
+
+
+
+
+
+
+
Повторные продажи
+
+
+
+
ÐÐºÐ¾Ð½Ð¾Ð¼Ð¸Ñ Ð²Ñ€ÐµÐ¼ÐµÐ½Ð¸Ð½Ð° раÑÑылку
+
+
+
+
ПоÑтроение базыподпиÑчиков
+
+
+
+
Работа Ñ Ñегментами
+
+
+
+
Диалог ÑпокупателÑми
+
+
+
+
+
Создание имиджаÑкÑперта
+
+
+
+
Удержание текущихклиентов
+
+
+
+
+
+
+
+
+
Формирование имиджаÑкÑперта
+
+
+
+
ÐžÐ±Ñ€Ð°Ñ‚Ð½Ð°Ñ ÑвÑÐ·ÑŒÑ ÐºÐ»Ð¸ÐµÐ½Ñ‚Ð°Ð¼Ð¸
+
+
+
+
Информированиеоб акциÑÑ… и конкурÑах
+
+
+
+
ПерÑонализациÑклиентов
+
+
+
+
Повторныепродажи
+
+
+
+
+
+
+
+
+
Команда на проект
+
+
+
+ Ðккаунт-менеджер
+
+
+ Интернет-маркетолог
+
+
+ SMM-менеджер
+
+
+
+
+ Дизайнер
+
+
+ Ðналитик
+
+
+
+
+
+
+
5 причин работать Ñ Ð½Ð°Ð¼Ð¸
+
+
+
+
1. Польза+продажи
+
Мы знаем, что такое Ñпам и не любимего также как и вы, поÑтомунаши пиÑьма читают: Ониполезные, как шиповникпри проÑтуде.
+
+
+
2. Ðкономим ваше времÑ
+
Отправим миллионную раÑÑылку занеÑколько чаÑов. С нами легко работать,мы не Ñрываем Ñрокии укладываемÑÑ Ð² триÑоглаÑованиÑ.
+
+
+
+
3. ПеÑонализациÑ
+
Подходим к клиентам индивидуальнои Ñегментируем предложениÑ.
+
+
+
4. ДелимÑÑ Ð¾Ð¿Ñ‹Ñ‚Ð¾Ð¼
+
ЕÑли у Ð²Ð°Ñ ÑƒÐ¶Ðµ еÑть раÑÑылка,то мы поможем ее наÑтроитьи уÑовершенÑтвовать.Ðам не жалковремени, чтобы научить ваÑ.
+
+
+
5. КраÑиво пишем
+
Хороший копирайтинг – Ñто общатьÑÑ Ñ Ð»ÑŽÐ´ÑŒÐ¼Ð¸ на их Ñзыке. КраÑиво риÑуем.УделÑем макÑимум вниманиÑ, как будут выглÑдеть пиÑьма, потому что от Ñтого завиÑÑÑ‚ ваши продажи.
+
+
+
Реще мы поÑещаем Ñеминары, конференции, общаемÑÑ, Ñ ÐºÐ¾Ð»Ð»ÐµÐ³Ð°Ð¼Ð¸, обмениваемÑÑ Ð·Ð½Ð°Ð½Ð¸Ñми, читаем профеÑÑиональную литературу.,ПоÑтому и информированы лучше, чем оÑтальные.
+
+
+
+
+
+
+
+
Забудьте о брошенных корзинах
+
+
По ÑтатиÑтике в интернет-магазинах оÑтаютÑÑ Ð½Ðµ
+ оформленными 50-60% покупок. Email-маркетинг
+ решает проблему брошенных корзин и повторных
+ продаж, а еще дает бизнеÑу «ÑнергетичеÑкий коктейль»
+ из лоÑльноÑти, брендинга и диалога Ñ Ð¿Ð¾ÐºÑƒÐ¿Ð°Ñ‚ÐµÐ»Ñми.
+ ЕÑли диалог налажен правильно, то у Ð²Ð°Ñ Ð±ÑƒÐ´ÑƒÑ‚
+ преданные клиенты и продажи, а еÑли ÑÑ‚Ñ€Ð°Ñ‚ÐµÐ³Ð¸Ñ Ð¿Ð»Ð¾Ñ…Ð°,
+
+ Мы избавим Ð²Ð°Ñ Ð¾Ñ‚ головной боли, а кроме того:
+
+
+
+
+
+ • Сократим раÑходы на привлечение покупателей
+
+ • СверÑтаем краÑивые пиÑьма
+
+ • Выдержим Ð±Ð°Ð»Ð°Ð½Ñ Ð¼ÐµÐ¶Ð´Ñƒ пользой и рекламой
+ Ð´Ð»Ñ Ð²Ð°ÑˆÐ¸Ñ… клиентов
+
+ • ÐаÑтроим аналитику и будем отÑлеживать
+ продажи
+
+ • Сохраним ваше Ð²Ñ€ÐµÐ¼Ñ Ð¸ нервы – вам оÑтанетÑÑ
+ только Ñледить за результатами работы.
+
+
+
+
+
Ð®Ð»Ð¸Ñ Ð¡Ð¾Ñ‚Ð½Ð¸ÐºÐ¾Ð²Ð° руководитель отдела лоÑльноÑти
+
+
+
+
+
+
+
+
ÐÐ°Ñ Ñ€ÐµÐºÐ¾Ð¼ÐµÐ½Ð´ÑƒÑŽÑ‚Ð·Ð° результаты, а не краÑивые отчеты
+
+
+
+
+
+
+
Ð¡Ð¾Ð»Ð¾Ð¼Ñ–Ñ Ð¡Ð¸Ð²Ð¸Ðº Маркетинг-менеджерextremstyle.ua
+
+
+
+ ÐšÐ¾Ð¼Ð¿Ð°Ð½Ð¸Ñ Â«ArtWeb» Ñопровождает Ð½Ð°Ñ Ñ Ñамого начала деÑтельноÑти в Ñети интернет. Ð Ñто уже более деÑÑти лет. ДолгоÑрочноÑть ÑотрудничеÑтва ÑвлÑетÑÑ Ð»ÑƒÑ‡ÑˆÐ¸Ð¼ показателем его уÑпешноÑти и Ð²Ð·Ð°Ð¸Ð¼Ð¾Ð¿Ð¾Ð½Ð¸Ð¼Ð°Ð½Ð¸Ñ Ð½Ð° пути Ñ€ÐµÑˆÐµÐ½Ð¸Ñ Ð²Ð¾Ð·Ð½Ð¸ÐºÐ°ÑŽÑ‰Ð¸Ñ… задач и целей. ЯвлÑÑÑÑŒ Ñоздателем наших Ñайтов, ÐºÐ¾Ð¼Ð¿Ð°Ð½Ð¸Ñ Â«ArtWeb» обеÑпечивает не только их беÑперебойное техничеÑкое обÑлуживание и лидирующие позиции, но и полное ÑоответÑтвие новейшим тенденциÑм в интернет-технологиÑÑ…. ÐарÑду Ñ Ñ€ÐµÑˆÐµÐ½Ð¸ÐµÐ¼ наших текущих задач, ÑпециалиÑты «ArtWeb» поÑтоÑнно предлагают немного больше, чем то, Ñ Ñ‡ÐµÐ¼ мы обратилиÑÑŒ, то еÑть решение задач более выÑокого уровнÑ. Внедрение, казалоÑÑŒ бы, фантаÑтичеÑких замыÑлов в развитие Ñайта, иногда опережает даже Ñамое Ñмелое планирование.
+
+ Важным аÑпектом нашего ÑотрудничеÑтва Ñ Â«ArtWeb» ÑвлÑетÑÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾Ñть целенаправленного ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÐºÐ»Ð¸ÐµÐ½Ñ‚Ñкой базой и Ð¾Ð¿Ñ‚Ð¸Ð¼Ð¸Ð·Ð°Ñ†Ð¸Ñ ÐµÐµ не только количеÑтвенных, но и качеÑтвенных показателей, что непоÑредÑтвенно влиÑет на роÑÑ‚ прибыли нашей компании. ОтветÑтвенноÑть, гибкоÑть, умение работать на результат, креативноÑть мышлениÑ, оперативное реагирование на вÑе наши запроÑÑ‹, Ð¿Ð¾Ð»Ð½Ð°Ñ Ð¾ÑведомленноÑть обо вÑем проиÑходÑщем на рынке новейших интернет-технологий и отчаÑти их авторÑÐºÐ°Ñ Ñ€Ð°Ð·Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ° – отличительные характериÑтики нашего надежного партнера – компании «ArtWeb».
+
+ Ðа протÑжении вÑего периода ÑотрудничеÑтва у Ð½Ð°Ñ Ð½Ðµ было повода уÑомнитьÑÑ Ð² том, что в «ArtWeb» работают лучшие web-ÑпециалиÑты. СотрудничеÑтво Ñ Â«ArtWeb» ÑвлÑетÑÑ Ð²Ð°Ð¶Ð½Ð¾Ð¹ ÑоÑтавлÑющей лидерÑтва в Ñегменте нашей деÑтельноÑти.
+
+
+
+
+
+
+
+
Сергей Левицкий ПреÑÑ-Ñекретарьukravtodor.gov.ua
+
+
+
+ Укравтодор Ñотрудничает Ñ ÐºÐ¾Ð¼Ð¿Ð°Ð½Ð¸ÐµÐ¹ «ArtWeb» уже около года, в течение которого было реализовано неÑколько Ñложнейших веб-проектов - в кратчайший Ñрок Ñоздана Ð½Ð¾Ð²Ð°Ñ Ð²ÐµÑ€ÑÐ¸Ñ Ð¾Ñ„Ð¸Ñ†Ð¸Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ веб-Ñайта ГоÑагентÑва автомобильных дорог Украины, а также Ñ€Ñд интерактивных веб-приложений, информирующих о ÑоÑтоÑнии проезда и качеÑтве дорожного покрытиÑ.
+
+ С Ñамого начала ÑовмеÑтной работы ÑпециалиÑты компании продемонÑтрировали Ñвой выÑокий профеÑÑионализм, гибкоÑть, и оперативноÑть в решении вÑех возникающих вопроÑов, что позволило модернизировать официальное интернет-предÑтавительÑтво Укравтодора за рекордно короткий Ñрок - 3 меÑÑца. Ð’ то Ð²Ñ€ÐµÐ¼Ñ ÐºÐ°Ðº предыдущую верÑию веб-Ñайта, уÑтаревшую и не функциональную, Ñ€Ñд других компаний-разработчиков пыталиÑÑŒ уÑовершенÑтвовать на протÑжении 9 лет.
+
+ Ðтот уÑпешный опыт продемонÑтрировал ÑффективноÑть ÑотрудничеÑтва Ñ ÐºÐ¾Ð¼Ð¿Ð°Ð½Ð¸ÐµÐ¹ «ArtWeb» и потому вÑе поÑледующие интернет- проекты Укравтодора были переданы в разработку именно ей.
+
+ СпаÑибо руководÑтву и коллективу компании за понимание и поддержку в решении Ñложных и, как правило, чрезвычайно оперативных задач.
+
+ ПреÑÑ-Ñлужба Укравтодора
+
+
+
+
+
+
+
+
+
Ðндрей Богатырь ИÑполнительный менеджер проектаcensor.net.ua
+
+
+
+ Мы обратилиÑÑŒ к ArtWeb Ñ Ñ†ÐµÐ»ÑŒÑŽ улучшить качеÑтво индекÑации Ñайта поиÑковыми ÑиÑтемами и увеличить трафик от ключевых поиÑковых операторов. Ð”Ð»Ñ Ñтого «ArtWeb» нужно было провеÑти анализ наших недоработок по оптимизации и предоÑтавить план уÑовершенÑÑ‚Ð²Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸ Ð¿Ñ€Ð¾Ð´Ð²Ð¸Ð¶ÐµÐ½Ð¸Ñ Ñайта. Главной целью было добитьÑÑ ÑƒÐ²ÐµÐ»Ð¸Ñ‡ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¸Ñ‚Ð¾ÐºÐ° трафика из поиÑковых ÑиÑтем до ÑƒÑ€Ð¾Ð²Ð½Ñ Ð±Ð¾Ð»ÐµÐµ 50 тыÑ. переходов в Ñутки, в итоге через год поÑле Ð¿Ñ€Ð¾Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ñ€Ð°Ð±Ð¾Ñ‚ кумулÑтивный Ñффект дал приток трафика более 200 тыÑÑч переходов в Ñутки.
+
+ Благодарим «ArtWeb» за Ñлаженную и прозрачную ÑиÑтему по взаимодейÑтвию в процеÑÑе работы. Результат ÑотрудничеÑтва Ñ Â«ArtWeb» полноÑтью оправдал ожиданиÑ. Рекомендую вÑем Ñту компанию как профеÑÑионалов в облаÑти Ð¿Ñ€Ð¾Ð´Ð²Ð¸Ð¶ÐµÐ½Ð¸Ñ Ñайта.
+
+
+
+
+
+
+
+
+
+
+
+
Как мы работаем
+
+
+
+
+
РазработкаÑтратегии
+
+
+
+
КаналыполучениÑподпиÑчиков
+
+
+
+
ÐаÑтройкатриггеров
+
+
+
+
СегментациÑбазы
+
+
+
+
+
ÐаÑтройка Ñайтапод Ñбор лидов,разработкапродающихÑтраниц
+
+
+
+
ПланраÑÑылки
+
+
+
+
Копирайтинг
+
+
+
+
Дизайни верÑтка
+
+
+
+
+
Ð/ВтеÑтирование
+
+
+
+
ОтправкапиÑем
+
+
+
+
Ðнализ
+
+
+
+
ОптимизациÑраÑÑылки
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/frontend/views/site/services/integration.php b/frontend/views/site/services/integration.php
new file mode 100644
index 0000000..682b149
--- /dev/null
+++ b/frontend/views/site/services/integration.php
@@ -0,0 +1,434 @@
+title = 'РаÑкрутка Ñайта Киев | SEO продвижение интернет-магазина в поиÑковых ÑиÑтемах (Google, ЯндекÑ) Ñео Ð¾Ð¿Ñ‚Ð¸Ð¼Ð¸Ð·Ð°Ñ†Ð¸Ñ ÐšÐ¸ÐµÐ², Харьков, ДнепропетровÑк, Украина';
+$this->params['breadcrumbs'][] = 'Ð˜Ð½Ñ‚ÐµÐ³Ñ€Ð°Ñ†Ð¸Ñ Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð¾Ð²';
+
+$this->registerCssFile('/css/service_integration.css');
+
+$this->registerJsFile('/js/services/integration.js');
+?>
+
+
+ beginContent('@app/views/blocks/services.php', ['tab' => 3]); ?>
+ endContent(); ?>
+
+
+
+
+
+
+
+
+
+
+
100% интеграциÑ
+
+
+
+
+
+
ПривÑзка CRM
+ ÑиÑтем и API
+
+
+
+
+
Онлайн-оплаты
+
+
+
+
+
API - Ñоциальных
+ Ñетей
+
+
+
+
+
+
+
+
+
+
+
Что может быть интегрировано в Ñайт
+
+
+
+
Социальные кнопки
+ и виджеты
+
+
+
+
+
+
Онлайн-оплата
+
+
+
+
+
API ÑиÑтем аналитики
+
+
+
+
+
Онлайн-конÑультант
+
+
+
+
+
+
Email и SMS раÑÑылки
+
+
+
+
+
+
+
+
+
+
СервиÑÑ‹ контролÑ
+ рекламы
+
+
+
+
+
КурÑÑ‹ валют /
+ биржевые индекÑÑ‹
+
+
+
+
+
Социальные
+ кнопки и виджеты
+
+
+
+
+
API ÑиÑтем аналитики
+
+
+
+
+
+
СервиÑÑ‹ Big Data
+
+
+
+
+
+
+
+
+
+
КейÑ
+
+
+
+
+
+
100% интеграциÑ
+ Ñ Ð¿Ñ€Ð¾Ð´Ð°Ð¶Ð°Ð¼Ð¸
+
+
+
+
Онлайн-оплаты
+
+
+
+
+
Социальные
+ кнопки и виджеты
+
+
+
+
+
+
Команда на проект
+
+
+
+ Ðккаунт-менеджер
+
+
+ Интернет-маркетолог
+
+
+ ЮзабилиÑÑ‚
+
+
+
+
+ Дизайнер
+
+
+ ПрограммиÑÑ‚
+
+
+
+
+
+
+
5 причин работать Ñ Ð½Ð°Ð¼Ð¸
+
+
+
+
1
+
Мы гибкие и любим Ñложные задачи.
+
+
+
+
2
+
Вы можете быть уверены,
+ что задачи будут Ñданы в Ñрок.
+
+
+
+
+
+
3
+
Ðаши ÑпециалиÑты подÑкажут,
+ что вам иÑпользовать и помогут
+ Ñто интегрировать.
+ Большой опыт
+ результативных решений.
+
+
+
+
4
+
СтоимоÑть интеграций в нашей Ñтудии
+ очень лоÑльна Ð´Ð»Ñ Ñ‚ÐµÑ…, кто заказывает
+ Ñоздание Ñайта или продвижение.
+
+
+
+
+
5
+
Мы ценим ваши вложениÑ,
+ поÑтому Ñчитаем рентабельноÑть
+ заданий на Ñтапе планированиÑ.
+
+
+
+
+
Реще мы поÑещаем Ñеминары, конференции, общаемÑÑ, Ñ ÐºÐ¾Ð»Ð»ÐµÐ³Ð°Ð¼Ð¸, обмениваемÑÑ Ð·Ð½Ð°Ð½Ð¸Ñми, читаем профеÑÑиональную литературу.,ПоÑтому и информированы лучше, чем оÑтальные.
+
+
+
+
+
+
+
+
Любые Ñ€ÐµÑˆÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ð²Ð°ÑˆÐµÐ³Ð¾ проекта
+
+
+
+ Ð’Ñ‹ хотите Ñделать Ñовременный Ñайт Ñ Ñ‚Ñ€ÐµÐ½Ð´Ð¾Ð²Ñ‹Ð¼ функционалом, качеÑтвенной аналитикой, выÑокими конверÑиÑми и макÑимальным взаимодейÑтвием Ñ Ð¿Ð¾ÑетителÑми?
+ ЕÑть большое количеÑтво ÑервиÑов в онлайне, которые оптимизируют работу. Ð’Ñ‹ их не знаете?
+ Тогда вы обратилиÑÑŒ по адреÑу.
+
+
+
+
+ В чем же фишка
+ 1. Мы вам поÑоветуем - большой опыт работы и
+ отличное понимание инÑтрументов, которые
+ решают задачи.
+ 2. Оптимизируем процеÑÑÑ‹ - подÑкажем, какие
+ Ñ€ÐµÑˆÐµÐ½Ð¸Ñ Ð¿Ð¾Ð¼Ð¾Ð³ÑƒÑ‚ Ñнизить затраты.
+ 3. ВлиÑние на продвижение - поиÑковые ÑиÑтемы
+ любÑÑ‚ Ñайты Ñ Ð¸Ð½Ñ‚ÐµÐ³Ñ€Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ñ‹Ð¼Ð¸ ÑиÑтемами.
+ 4. Ð’Ñ‹Ñокий коÑффициент конверÑий - многие
+ ÑервиÑÑ‹ имеют прÑмое влиÑние на уровень
+ конверÑий.
+ 5. Повторные продажи - анализ и
+ Ñегментирование пользователей влиÑÑŽÑ‚ на
+ роÑÑ‚ повторных продаж.
+ 6. Внедрение нашими ÑпециалиÑтами -
+ комплекÑÐ½Ð°Ñ Ñ€ÐµÐ°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ñ Ð¾Ñ‚ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ñайта и
+ поддержки до продвижениÑ.
+ 7. Индивидуальный подход - у Ð½Ð°Ñ Ð½ÐµÑ‚
+ конвейерных решений.
+
+
+
+
+
Ðаш опыт будет вам полезен. Мы ÑÑкономим значительную Ñумму денег, а Ñамое главное увеличим количеÑтво продаж. Ð˜Ð½Ñ‚ÐµÐ³Ñ€Ð°Ñ†Ð¸Ñ - Ñто Ñложный процеÑÑ, который необходим практичеÑки каждому проекту.
+
+
+
+
+
+
Ðндрей Белый руководитель отдела разработки
+
+
+
+
+
+
+
ÐÐ°Ñ Ñ€ÐµÐºÐ¾Ð¼ÐµÐ½Ð´ÑƒÑŽÑ‚Ð·Ð° результаты, а не краÑивые отчеты
+
+
+
+
+
+
+
Ð¡Ð¾Ð»Ð¾Ð¼Ñ–Ñ Ð¡Ð¸Ð²Ð¸Ðº Маркетинг-менеджерextremstyle.ua
+
+
+
+ ÐšÐ¾Ð¼Ð¿Ð°Ð½Ð¸Ñ Â«ArtWeb» Ñопровождает Ð½Ð°Ñ Ñ Ñамого начала деÑтельноÑти в Ñети интернет. Ð Ñто уже более деÑÑти лет. ДолгоÑрочноÑть ÑотрудничеÑтва ÑвлÑетÑÑ Ð»ÑƒÑ‡ÑˆÐ¸Ð¼ показателем его уÑпешноÑти и Ð²Ð·Ð°Ð¸Ð¼Ð¾Ð¿Ð¾Ð½Ð¸Ð¼Ð°Ð½Ð¸Ñ Ð½Ð° пути Ñ€ÐµÑˆÐµÐ½Ð¸Ñ Ð²Ð¾Ð·Ð½Ð¸ÐºÐ°ÑŽÑ‰Ð¸Ñ… задач и целей. ЯвлÑÑÑÑŒ Ñоздателем наших Ñайтов, ÐºÐ¾Ð¼Ð¿Ð°Ð½Ð¸Ñ Â«ArtWeb» обеÑпечивает не только их беÑперебойное техничеÑкое обÑлуживание и лидирующие позиции, но и полное ÑоответÑтвие новейшим тенденциÑм в интернет-технологиÑÑ…. ÐарÑду Ñ Ñ€ÐµÑˆÐµÐ½Ð¸ÐµÐ¼ наших текущих задач, ÑпециалиÑты «ArtWeb» поÑтоÑнно предлагают немного больше, чем то, Ñ Ñ‡ÐµÐ¼ мы обратилиÑÑŒ, то еÑть решение задач более выÑокого уровнÑ. Внедрение, казалоÑÑŒ бы, фантаÑтичеÑких замыÑлов в развитие Ñайта, иногда опережает даже Ñамое Ñмелое планирование.
+
+ Важным аÑпектом нашего ÑотрудничеÑтва Ñ Â«ArtWeb» ÑвлÑетÑÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾Ñть целенаправленного ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÐºÐ»Ð¸ÐµÐ½Ñ‚Ñкой базой и Ð¾Ð¿Ñ‚Ð¸Ð¼Ð¸Ð·Ð°Ñ†Ð¸Ñ ÐµÐµ не только количеÑтвенных, но и качеÑтвенных показателей, что непоÑредÑтвенно влиÑет на роÑÑ‚ прибыли нашей компании. ОтветÑтвенноÑть, гибкоÑть, умение работать на результат, креативноÑть мышлениÑ, оперативное реагирование на вÑе наши запроÑÑ‹, Ð¿Ð¾Ð»Ð½Ð°Ñ Ð¾ÑведомленноÑть обо вÑем проиÑходÑщем на рынке новейших интернет-технологий и отчаÑти их авторÑÐºÐ°Ñ Ñ€Ð°Ð·Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ° – отличительные характериÑтики нашего надежного партнера – компании «ArtWeb».
+
+ Ðа протÑжении вÑего периода ÑотрудничеÑтва у Ð½Ð°Ñ Ð½Ðµ было повода уÑомнитьÑÑ Ð² том, что в «ArtWeb» работают лучшие web-ÑпециалиÑты. СотрудничеÑтво Ñ Â«ArtWeb» ÑвлÑетÑÑ Ð²Ð°Ð¶Ð½Ð¾Ð¹ ÑоÑтавлÑющей лидерÑтва в Ñегменте нашей деÑтельноÑти.
+
+
+
+
+
+
+
+
Сергей Левицкий ПреÑÑ-Ñекретарьukravtodor.gov.ua
+
+
+
+ Укравтодор Ñотрудничает Ñ ÐºÐ¾Ð¼Ð¿Ð°Ð½Ð¸ÐµÐ¹ «ArtWeb» уже около года, в течение которого было реализовано неÑколько Ñложнейших веб-проектов - в кратчайший Ñрок Ñоздана Ð½Ð¾Ð²Ð°Ñ Ð²ÐµÑ€ÑÐ¸Ñ Ð¾Ñ„Ð¸Ñ†Ð¸Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ веб-Ñайта ГоÑагентÑва автомобильных дорог Украины, а также Ñ€Ñд интерактивных веб-приложений, информирующих о ÑоÑтоÑнии проезда и качеÑтве дорожного покрытиÑ.
+
+ С Ñамого начала ÑовмеÑтной работы ÑпециалиÑты компании продемонÑтрировали Ñвой выÑокий профеÑÑионализм, гибкоÑть, и оперативноÑть в решении вÑех возникающих вопроÑов, что позволило модернизировать официальное интернет-предÑтавительÑтво Укравтодора за рекордно короткий Ñрок - 3 меÑÑца. Ð’ то Ð²Ñ€ÐµÐ¼Ñ ÐºÐ°Ðº предыдущую верÑию веб-Ñайта, уÑтаревшую и не функциональную, Ñ€Ñд других компаний-разработчиков пыталиÑÑŒ уÑовершенÑтвовать на протÑжении 9 лет.
+
+ Ðтот уÑпешный опыт продемонÑтрировал ÑффективноÑть ÑотрудничеÑтва Ñ ÐºÐ¾Ð¼Ð¿Ð°Ð½Ð¸ÐµÐ¹ «ArtWeb» и потому вÑе поÑледующие интернет- проекты Укравтодора были переданы в разработку именно ей.
+
+ СпаÑибо руководÑтву и коллективу компании за понимание и поддержку в решении Ñложных и, как правило, чрезвычайно оперативных задач.
+
+ ПреÑÑ-Ñлужба Укравтодора
+
+
+
+
+
+
+
+
+
Ðндрей Богатырь ИÑполнительный менеджер проектаcensor.net.ua
+
+
+
+ Мы обратилиÑÑŒ к ArtWeb Ñ Ñ†ÐµÐ»ÑŒÑŽ улучшить качеÑтво индекÑации Ñайта поиÑковыми ÑиÑтемами и увеличить трафик от ключевых поиÑковых операторов. Ð”Ð»Ñ Ñтого «ArtWeb» нужно было провеÑти анализ наших недоработок по оптимизации и предоÑтавить план уÑовершенÑÑ‚Ð²Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸ Ð¿Ñ€Ð¾Ð´Ð²Ð¸Ð¶ÐµÐ½Ð¸Ñ Ñайта. Главной целью было добитьÑÑ ÑƒÐ²ÐµÐ»Ð¸Ñ‡ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¸Ñ‚Ð¾ÐºÐ° трафика из поиÑковых ÑиÑтем до ÑƒÑ€Ð¾Ð²Ð½Ñ Ð±Ð¾Ð»ÐµÐµ 50 тыÑ. переходов в Ñутки, в итоге через год поÑле Ð¿Ñ€Ð¾Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ñ€Ð°Ð±Ð¾Ñ‚ кумулÑтивный Ñффект дал приток трафика более 200 тыÑÑч переходов в Ñутки.
+
+ Благодарим «ArtWeb» за Ñлаженную и прозрачную ÑиÑтему по взаимодейÑтвию в процеÑÑе работы. Результат ÑотрудничеÑтва Ñ Â«ArtWeb» полноÑтью оправдал ожиданиÑ. Рекомендую вÑем Ñту компанию как профеÑÑионалов в облаÑти Ð¿Ñ€Ð¾Ð´Ð²Ð¸Ð¶ÐµÐ½Ð¸Ñ Ñайта.
+
+
+
+
+
+
+
+
+
+
+
+
Как мы работаем
+
+
+
+
+
+
Ðнализ
+ тематики
+ у конкурентов
+
+
+
+
+
+
ÐапиÑание
+ ÑовмеÑтногоТЗ
+
+
+
+
+
+
+
СоÑтавлениетруктурыÑайта
+
+
+
+
+
+
+
Созданиемакетов
+ виджетов
+
+
+
+
+
+
ЗапуÑкv
+ интеграции
+
+
+
+
+
+
+
ÐаÑтройка
+ анализа
+
+
+
+
+
+
+
Обучение
+ работе
+ Ñ Ñайтом
+
+
+
+
+
+
+
ТеÑтирование
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/frontend/views/site/services/segmnt.php b/frontend/views/site/services/segmnt.php
new file mode 100644
index 0000000..f640192
--- /dev/null
+++ b/frontend/views/site/services/segmnt.php
@@ -0,0 +1,335 @@
+title = 'РаÑкрутка Ñайта Киев | SEO продвижение интернет-магазина в поиÑковых ÑиÑтемах (Google, ЯндекÑ) Ñео Ð¾Ð¿Ñ‚Ð¸Ð¼Ð¸Ð·Ð°Ñ†Ð¸Ñ ÐšÐ¸ÐµÐ², Харьков, ДнепропетровÑк, Украина';
+$this->params['breadcrumbs'][] = 'Ð¡ÐµÐ³Ð¼ÐµÐ½Ñ‚Ð°Ñ†Ð¸Ñ Ð°ÑƒÐ´Ð¸Ñ‚Ð¾Ñ€Ð¸Ð¸';
+
+$this->registerCssFile('/css/service_segmnt.css');
+
+$this->registerJsFile('/js/services/segmnt.js');
+?>
+
+
+ beginContent('@app/views/blocks/services.php', ['tab' => 4]); ?>
+ endContent(); ?>
+
+
+
+
+
+
+
+
+
+
+
+
продажи приноÑÑÑ‚VIP-клиенты
+
+
+
+
+
+
Индивидуальныйподход
+
+
+
+
ОпытнаÑкоманда
+
+
+
+
+
+
+
+
+
+
+
Зачем вам наÑтройка аналитики на Ñайте?
+
+
+
+
5 видов аудитории
+
+
+
+
+
ÐÐºÑ‚Ð¸Ð²Ð°Ñ†Ð¸Ñ Ð¿Ñ€Ð¾Ð´Ð°Ð¶
+
+
+
+
+
УвеличениеÑреднего чека
+
+
+
+
+
Работы надроÑтом CLTV
+
+
+
+
+
МакÑимальнаÑÑффективноÑть продаж
+
+
+
+
+
+
+
+
+
Создание ÑообщеÑтва
+ проекта
+
+
+
+
ИндивидуальнаÑ
+ выдача
+
+
+
+
СегментациÑ
+ иÑточников
+
+
+
+
Увеличение лоÑльноÑти
+ к бренду
+
+
+
+
+
ВзаимодейÑтвие Ñ
+ VIP-пользователÑми
+
+
+
+
+
+
+
+
Команда на проект
+
+
+
+ Проджект-менеджер
+
+
+ Интернет-маркетолог
+
+
+ Ðналитик
+
+
+
+
+ Email-маркетолог
+
+
+
+
+
+
+
5 причин работать Ñ Ð½Ð°Ð¼Ð¸
+
+
+
+
1
+
Мы умеем Ñчитать прибыльот каждого клиента.
+
+
+
2
+
Увеличиваем Ñредний чек и первичныепродажи за Ñчет индивидуализацииÑайта под клиентов.
+
+
+
+
3
+
Ð”Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ вида целевой аудиторииготовитÑÑ Ð¾Ñ‚Ð´ÐµÐ»ÑŒÐ½Ñ‹Ð¹ план взаимодейÑтвиÑ.
+
+
+
4
+
Ð’Ñ‹ получаете лоÑльное ÑообщеÑтво, которое приноÑит ваммакÑимальную прибыль.
+
+
+
5
+
Мы не только Ñегментируем целевуюаудиторию, а проводим комплекÑныйонлайн-маркетинг вашего проекта.
+
+
+
Реще мы поÑещаем Ñеминары, конференции, общаемÑÑ, Ñ ÐºÐ¾Ð»Ð»ÐµÐ³Ð°Ð¼Ð¸, обмениваемÑÑ Ð·Ð½Ð°Ð½Ð¸Ñми, читаем профеÑÑиональную литературу.,ПоÑтому и информированы лучше, чем оÑтальные.
+
+
+
+
+
+
+
+
Ð¡ÐµÐ³Ð¼ÐµÐ½Ñ‚Ð°Ñ†Ð¸Ñ Ñ†ÐµÐ»ÐµÐ²Ð¾Ð¹Ð°ÑƒÐ´Ð¸Ñ‚Ð¾Ñ€Ð¸Ð¸ правильно
+
+
• Ð’Ñ‹ хотите развивать VIP-клиентов Ñреди Ñвоей аудитории?
+ • Вам нужно узнать, ÐºÐ°ÐºÐ°Ñ Ð¿Ð¾Ð¶Ð¸Ð·Ð½ÐµÐ½Ð½Ð°Ñ Ñ†ÐµÐ½Ð½Ð¾Ñть клиента?
+ • Ð’Ñ‹ хотите повыÑить лоÑльноÑть Ñреди “ВÐШИХ†клиентов?
+ Тогда вы пришли по адреÑу.
+
+
+
+
+ 1. Big Data - Ñоберем нужные метрики и наÑтроим
+ алгоритм обработки данных.
+ 2. VIP-клиенты - закон Парето работает - 10%
+ клиентов дают 60% продаж .
+ 3. МакÑимум Ð²Ð½Ð¸Ð¼Ð°Ð½Ð¸Ñ - Ð´Ð»Ñ ÐºÐ»Ð¸ÐµÐ½Ñ‚Ð¾Ð², которые
+ решают ваши задачи.
+ 4. Email-маркетинг - ÑÑ‚Ñ€Ð°Ñ‚ÐµÐ³Ð¸Ñ Ð²Ð·Ð°Ð¸Ð¼Ð¾Ð´ÐµÐ¹ÑÑ‚Ð²Ð¸Ñ Ñ
+ каждой аудиторией.
+ 5. SMM - близкое общение Ñ Ð¦Ð.
+ 6. Индивидуальный вывод информации -
+ подходÑщие товары, интереÑные материалы,
+ перÑональные акции.
+ 7. РоÑÑ‚ CLTV - работы над увеличением
+ пожизненной ценноÑти клиента.
+
+
+
+
+
Ð’Ñ‹ тратите 90% уÑилий на привлечениетрафика, который не Ñделает ни однойпокупки, вмеÑто того чтобы работать ÑVIP-клиентами, которые делают 90%продаж. Мы поможем вам решить Ñтузадачу Ñффективно.
+
+
+
+
Ðнтон Ð—Ð¾Ð·ÑƒÐ»Ñ Ð”Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€ по маркетингу
+
+
+
+
+
+
+
ÐÐ°Ñ Ñ€ÐµÐºÐ¾Ð¼ÐµÐ½Ð´ÑƒÑŽÑ‚Ð·Ð° результаты, а не краÑивые отчеты
+
+
+
+
+
+
+
Ð¡Ð¾Ð»Ð¾Ð¼Ñ–Ñ Ð¡Ð¸Ð²Ð¸Ðº Маркетинг-менеджерextremstyle.ua
+
+
+
+ ÐšÐ¾Ð¼Ð¿Ð°Ð½Ð¸Ñ Â«ArtWeb» Ñопровождает Ð½Ð°Ñ Ñ Ñамого начала деÑтельноÑти в Ñети интернет. Ð Ñто уже более деÑÑти лет. ДолгоÑрочноÑть ÑотрудничеÑтва ÑвлÑетÑÑ Ð»ÑƒÑ‡ÑˆÐ¸Ð¼ показателем его уÑпешноÑти и Ð²Ð·Ð°Ð¸Ð¼Ð¾Ð¿Ð¾Ð½Ð¸Ð¼Ð°Ð½Ð¸Ñ Ð½Ð° пути Ñ€ÐµÑˆÐµÐ½Ð¸Ñ Ð²Ð¾Ð·Ð½Ð¸ÐºÐ°ÑŽÑ‰Ð¸Ñ… задач и целей. ЯвлÑÑÑÑŒ Ñоздателем наших Ñайтов, ÐºÐ¾Ð¼Ð¿Ð°Ð½Ð¸Ñ Â«ArtWeb» обеÑпечивает не только их беÑперебойное техничеÑкое обÑлуживание и лидирующие позиции, но и полное ÑоответÑтвие новейшим тенденциÑм в интернет-технологиÑÑ…. ÐарÑду Ñ Ñ€ÐµÑˆÐµÐ½Ð¸ÐµÐ¼ наших текущих задач, ÑпециалиÑты «ArtWeb» поÑтоÑнно предлагают немного больше, чем то, Ñ Ñ‡ÐµÐ¼ мы обратилиÑÑŒ, то еÑть решение задач более выÑокого уровнÑ. Внедрение, казалоÑÑŒ бы, фантаÑтичеÑких замыÑлов в развитие Ñайта, иногда опережает даже Ñамое Ñмелое планирование.
+
+ Важным аÑпектом нашего ÑотрудничеÑтва Ñ Â«ArtWeb» ÑвлÑетÑÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾Ñть целенаправленного ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÐºÐ»Ð¸ÐµÐ½Ñ‚Ñкой базой и Ð¾Ð¿Ñ‚Ð¸Ð¼Ð¸Ð·Ð°Ñ†Ð¸Ñ ÐµÐµ не только количеÑтвенных, но и качеÑтвенных показателей, что непоÑредÑтвенно влиÑет на роÑÑ‚ прибыли нашей компании. ОтветÑтвенноÑть, гибкоÑть, умение работать на результат, креативноÑть мышлениÑ, оперативное реагирование на вÑе наши запроÑÑ‹, Ð¿Ð¾Ð»Ð½Ð°Ñ Ð¾ÑведомленноÑть обо вÑем проиÑходÑщем на рынке новейших интернет-технологий и отчаÑти их авторÑÐºÐ°Ñ Ñ€Ð°Ð·Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ° – отличительные характериÑтики нашего надежного партнера – компании «ArtWeb».
+
+ Ðа протÑжении вÑего периода ÑотрудничеÑтва у Ð½Ð°Ñ Ð½Ðµ было повода уÑомнитьÑÑ Ð² том, что в «ArtWeb» работают лучшие web-ÑпециалиÑты. СотрудничеÑтво Ñ Â«ArtWeb» ÑвлÑетÑÑ Ð²Ð°Ð¶Ð½Ð¾Ð¹ ÑоÑтавлÑющей лидерÑтва в Ñегменте нашей деÑтельноÑти.
+
+
+
+
+
+
+
+
Сергей Левицкий ПреÑÑ-Ñекретарьukravtodor.gov.ua
+
+
+
+ Укравтодор Ñотрудничает Ñ ÐºÐ¾Ð¼Ð¿Ð°Ð½Ð¸ÐµÐ¹ «ArtWeb» уже около года, в течение которого было реализовано неÑколько Ñложнейших веб-проектов - в кратчайший Ñрок Ñоздана Ð½Ð¾Ð²Ð°Ñ Ð²ÐµÑ€ÑÐ¸Ñ Ð¾Ñ„Ð¸Ñ†Ð¸Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ веб-Ñайта ГоÑагентÑва автомобильных дорог Украины, а также Ñ€Ñд интерактивных веб-приложений, информирующих о ÑоÑтоÑнии проезда и качеÑтве дорожного покрытиÑ.
+
+ С Ñамого начала ÑовмеÑтной работы ÑпециалиÑты компании продемонÑтрировали Ñвой выÑокий профеÑÑионализм, гибкоÑть, и оперативноÑть в решении вÑех возникающих вопроÑов, что позволило модернизировать официальное интернет-предÑтавительÑтво Укравтодора за рекордно короткий Ñрок - 3 меÑÑца. Ð’ то Ð²Ñ€ÐµÐ¼Ñ ÐºÐ°Ðº предыдущую верÑию веб-Ñайта, уÑтаревшую и не функциональную, Ñ€Ñд других компаний-разработчиков пыталиÑÑŒ уÑовершенÑтвовать на протÑжении 9 лет.
+
+ Ðтот уÑпешный опыт продемонÑтрировал ÑффективноÑть ÑотрудничеÑтва Ñ ÐºÐ¾Ð¼Ð¿Ð°Ð½Ð¸ÐµÐ¹ «ArtWeb» и потому вÑе поÑледующие интернет- проекты Укравтодора были переданы в разработку именно ей.
+
+ СпаÑибо руководÑтву и коллективу компании за понимание и поддержку в решении Ñложных и, как правило, чрезвычайно оперативных задач.
+
+ ПреÑÑ-Ñлужба Укравтодора
+
+
+
+
+
+
+
+
+
Ðндрей Богатырь ИÑполнительный менеджер проектаcensor.net.ua
+
+
+
+ Мы обратилиÑÑŒ к ArtWeb Ñ Ñ†ÐµÐ»ÑŒÑŽ улучшить качеÑтво индекÑации Ñайта поиÑковыми ÑиÑтемами и увеличить трафик от ключевых поиÑковых операторов. Ð”Ð»Ñ Ñтого «ArtWeb» нужно было провеÑти анализ наших недоработок по оптимизации и предоÑтавить план уÑовершенÑÑ‚Ð²Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸ Ð¿Ñ€Ð¾Ð´Ð²Ð¸Ð¶ÐµÐ½Ð¸Ñ Ñайта. Главной целью было добитьÑÑ ÑƒÐ²ÐµÐ»Ð¸Ñ‡ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¸Ñ‚Ð¾ÐºÐ° трафика из поиÑковых ÑиÑтем до ÑƒÑ€Ð¾Ð²Ð½Ñ Ð±Ð¾Ð»ÐµÐµ 50 тыÑ. переходов в Ñутки, в итоге через год поÑле Ð¿Ñ€Ð¾Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ñ€Ð°Ð±Ð¾Ñ‚ кумулÑтивный Ñффект дал приток трафика более 200 тыÑÑч переходов в Ñутки.
+
+ Благодарим «ArtWeb» за Ñлаженную и прозрачную ÑиÑтему по взаимодейÑтвию в процеÑÑе работы. Результат ÑотрудничеÑтва Ñ Â«ArtWeb» полноÑтью оправдал ожиданиÑ. Рекомендую вÑем Ñту компанию как профеÑÑионалов в облаÑти Ð¿Ñ€Ð¾Ð´Ð²Ð¸Ð¶ÐµÐ½Ð¸Ñ Ñайта.
+
+
+
+
+
+
+
+
+
+
+
+
Как мы работаем
+
+
+
+
+
+
Изучение
+ аудитории
+
+
+
+
+
+
ÐаÑтройкааналитики
+
+
+
+
+
+
+
Сегментированиеаудитории
+
+
+
+
+
+
Контроль иотчетноÑть
+
+
+
+
+
+
ÐапиÑаниеÑтратегии
+
+
+
+
+
+
+
Создание Ð¼Ð°Ñ‚ÐµÑ€Ð¸Ð°Ð»Ð¾Ð²Ð´Ð»Ñ Ð²Ð·Ð°Ð¸Ð¼Ð¾Ð´ÐµÐ¹Ñтвий
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/frontend/views/site/services/seo.php b/frontend/views/site/services/seo.php
new file mode 100644
index 0000000..2b82f0d
--- /dev/null
+++ b/frontend/views/site/services/seo.php
@@ -0,0 +1,447 @@
+title = 'РаÑкрутка Ñайта Киев | SEO продвижение интернет-магазина в поиÑковых ÑиÑтемах (Google, ЯндекÑ) Ñео Ð¾Ð¿Ñ‚Ð¸Ð¼Ð¸Ð·Ð°Ñ†Ð¸Ñ ÐšÐ¸ÐµÐ², Харьков, ДнепропетровÑк, Украина';
+$this->params['breadcrumbs'][] = 'SEO';
+
+$this->registerCssFile('/css/service_seo.css');
+
+$this->registerJsFile('/js/services/seo.js');
+?>
+
+
+
+ beginContent('@app/views/blocks/services.php', ['tab' => 1]); ?>
+ endContent(); ?>
+
+
+
+
+
+
+
+
+
+
+
уÑпешныхпроектов
+
+
+
+
+
+
индивидуальный
+ подход
+
+
+
+
+
клиенты в
+ ТОПе
+
+
+
+
+
профи
+ команда
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Ð’Ñ‹Ñокий показатель
+ конверÑий
+
+
+
+
+
МаÑштабируемые
+ объемы трафика
+
+
+
+
Гибкие результаты
+ под ваши KPI
+
+
+
+
+
РоÑÑ‚ узнаваемоÑти
+ бренда
+
+
+
+
Увеличение продаж
+ и прибыли
+
+
+
+
+
+
+
+
+
РоÑÑ‚ поÑещаемоÑти
+ Ñайта
+
+
+
+
РаÑширение Ñтруктуры
+ Ñайта
+
+
+
+
Ðффективный
+ контент
+
+
+
+
ÐвтоматичеÑÐºÐ°Ñ Ð³ÐµÐ½ÐµÑ€Ð°Ñ†Ð¸Ñ
+ новых Ñтраниц
+
+
+
+
УзнаваемоÑть бренда
+
+
+
+
+
+
+
Выход на новые
+ рынки
+
+
+
+
+
Повышение уровнÑ
+ бизнеÑа
+
+
+
+
+
ДиверÑификациÑ
+ риÑков
+
+
+
+
Стратегии продвижениÑ
+ под каждый регион
+
+
+
+
+
+
+
КейÑ
+
+
+
+
+
+
Ñайтов Украины
+
+
+
+
поÑещений из поиÑка
+ в меÑÑц
+
+
+
+
глубина проÑмотра
+ из поиÑка
+
+
+
+
+
+
Команда на проект
+
+
+
+ Проджект-менеджер
+
+
+ Интернет-маркетолог
+
+
+ SEO-ÑпециалиÑÑ‚
+
+
+
+
+ Копирайтер
+
+
+ Ðналитик
+
+
+
+
+
+
+
5 причин заказать у Ð½Ð°Ñ SEO
+
+
+
+
1
+
Мы ориентируемÑÑ Ð½Ð° результат.
+ Вам придетÑÑ Ð´Ð¾Ð²ÐµÑ€Ð¸Ñ‚ÑŒÑÑ Ð¿Ñ€Ð¾Ñ„ÐµÑÑионалам
+ и мы заÑтавим поиÑковые ÑиÑтемы
+ работать на ваÑ!
+
+
+
+
2
+
Ðаши клиенты находÑÑ‚ÑÑ
+ в ТОП-10 более деÑÑти лет.
+
+
+
+
+
3
+
Огромный багаж ÑкÑпериментально
+ доказанных знаний о работе
+ поиÑковых ÑиÑтем.
+
+
+
+
4
+
ÐаÑтроенные процеÑÑÑ‹ работы
+ (делегирование):
+ в каждом проекте обÑзательно принимает
+ учаÑтие SeniorSEO-specialist.
+
+
+
+
5
+
Мы ценим ваши вложениÑ,
+ поÑтому Ñчитаем рентабельноÑть
+ заданий на Ñтапе планированиÑ.
+
+
+
+
Реще мы поÑещаем Ñеминары, конференции, общаемÑÑ, Ñ ÐºÐ¾Ð»Ð»ÐµÐ³Ð°Ð¼Ð¸, обмениваемÑÑ Ð·Ð½Ð°Ð½Ð¸Ñми, читаем профеÑÑиональную литературу.,ПоÑтому и информированы лучше, чем оÑтальные.
+
+
+
+
+
+
+
+
SEO как фактор Ð¿Ñ€Ð¾Ð´Ð²Ð¸Ð¶ÐµÐ½Ð¸Ñ Ñайта
+
+
+
Ð’Ñ‹ решили развивать Ð±Ð¸Ð·Ð½ÐµÑ Ð² интернете и ищите партнеров, которые помогут вам в Ñтом вопроÑе? Мы будем рады пройти Ñ Ð²Ð°Ð¼Ð¸ веÑÑŒ путь и доÑтичь ТОП-1 вашей тематики в поиÑковой выдаче. Ð SEO - Ñто ключевой “китâ€, на котором цель базируетÑÑ.
+ ПоиÑÐºÐ¾Ð²Ð°Ñ Ð¾Ð¿Ñ‚Ð¸Ð¼Ð¸Ð·Ð°Ñ†Ð¸Ñ Ñайта - вÑе еще Ñамый
+ выÑокоприбыльный иÑточник трафика.
+
+
+
+
+
+ В чем же фишка?
+
+ 1. Ð’Ñ‹Ñокие конверÑии - на Ñайт попадают только
+ потенциальные клиенты.
+ 2. ÐŸÐ¾Ð´Ñ€Ð¾Ð±Ð½Ð°Ñ ÑÑ‚Ñ€Ð°Ñ‚ÐµÐ³Ð¸Ñ Ð¿Ñ€Ð¾Ð´Ð²Ð¸Ð¶ÐµÐ½Ð¸Ñ Ð¾Ñ‚ Senior -SEO
+ на каждый проект.
+ 3. ÐÐ¸Ð·ÐºÐ°Ñ Ñ†ÐµÐ½Ð° за клик - обычно дешевле в 2-5 раз,
+ чем контекÑÑ‚Ð½Ð°Ñ Ñ€ÐµÐºÐ»Ð°Ð¼Ð°
+ 4. Полный охват тематики - 100% проработка
+ ÑемантичеÑкого Ñдра.
+ 5. Ðовые разделы - мы рекомендуем направлениÑ
+ раÑÑˆÐ¸Ñ€ÐµÐ½Ð¸Ñ Ð±Ð¸Ð·Ð½ÐµÑа.
+ 6. Контроль полученных результатов - вы получаете
+ наÑтроенную аналитику.
+ 7. ПоÑтоÑнный роÑÑ‚ продаж - продвижение вашего
+ бизнеÑа не оÑтанавливаетÑÑ Ð½Ð¸ на день.
+ 8. Ð“Ð¸Ð±ÐºÐ°Ñ Ð¾Ñ‚Ñ‡ÐµÑ‚Ð½Ð¾Ñть - помогаем вам определить KPI,
+ за которыми будем Ñледить.
+
+
+
+
ПоиÑÐºÐ¾Ð²Ð°Ñ Ð¾Ð¿Ñ‚Ð¸Ð¼Ð¸Ð·Ð°Ñ†Ð¸Ñ -
+ Ñто ваша уверенноÑть
+ в завтрашнем дне.
+ Рмы делаем вÑе,
+ чтобы вы доÑтигли ТОП-1
+ в вашей тематике.
+
+
+
+
Ðнтон Ð—Ð¾Ð·ÑƒÐ»Ñ Ð”Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€ по маркетингу
+
+
+
+
+
+
+
ÐÐ°Ñ Ñ€ÐµÐºÐ¾Ð¼ÐµÐ½Ð´ÑƒÑŽÑ‚Ð·Ð° результаты, а не краÑивые отчеты
+
+
+
+
+
+
+
Ð¡Ð¾Ð»Ð¾Ð¼Ñ–Ñ Ð¡Ð¸Ð²Ð¸Ðº Маркетинг-менеджерextremstyle.ua
+
+
+
+ ÐšÐ¾Ð¼Ð¿Ð°Ð½Ð¸Ñ Â«ArtWeb» Ñопровождает Ð½Ð°Ñ Ñ Ñамого начала деÑтельноÑти в Ñети интернет. Ð Ñто уже более деÑÑти лет. ДолгоÑрочноÑть ÑотрудничеÑтва ÑвлÑетÑÑ Ð»ÑƒÑ‡ÑˆÐ¸Ð¼ показателем его уÑпешноÑти и Ð²Ð·Ð°Ð¸Ð¼Ð¾Ð¿Ð¾Ð½Ð¸Ð¼Ð°Ð½Ð¸Ñ Ð½Ð° пути Ñ€ÐµÑˆÐµÐ½Ð¸Ñ Ð²Ð¾Ð·Ð½Ð¸ÐºÐ°ÑŽÑ‰Ð¸Ñ… задач и целей. ЯвлÑÑÑÑŒ Ñоздателем наших Ñайтов, ÐºÐ¾Ð¼Ð¿Ð°Ð½Ð¸Ñ Â«ArtWeb» обеÑпечивает не только их беÑперебойное техничеÑкое обÑлуживание и лидирующие позиции, но и полное ÑоответÑтвие новейшим тенденциÑм в интернет-технологиÑÑ…. ÐарÑду Ñ Ñ€ÐµÑˆÐµÐ½Ð¸ÐµÐ¼ наших текущих задач, ÑпециалиÑты «ArtWeb» поÑтоÑнно предлагают немного больше, чем то, Ñ Ñ‡ÐµÐ¼ мы обратилиÑÑŒ, то еÑть решение задач более выÑокого уровнÑ. Внедрение, казалоÑÑŒ бы, фантаÑтичеÑких замыÑлов в развитие Ñайта, иногда опережает даже Ñамое Ñмелое планирование.
+
+ Важным аÑпектом нашего ÑотрудничеÑтва Ñ Â«ArtWeb» ÑвлÑетÑÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾Ñть целенаправленного ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÐºÐ»Ð¸ÐµÐ½Ñ‚Ñкой базой и Ð¾Ð¿Ñ‚Ð¸Ð¼Ð¸Ð·Ð°Ñ†Ð¸Ñ ÐµÐµ не только количеÑтвенных, но и качеÑтвенных показателей, что непоÑредÑтвенно влиÑет на роÑÑ‚ прибыли нашей компании. ОтветÑтвенноÑть, гибкоÑть, умение работать на результат, креативноÑть мышлениÑ, оперативное реагирование на вÑе наши запроÑÑ‹, Ð¿Ð¾Ð»Ð½Ð°Ñ Ð¾ÑведомленноÑть обо вÑем проиÑходÑщем на рынке новейших интернет-технологий и отчаÑти их авторÑÐºÐ°Ñ Ñ€Ð°Ð·Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ° – отличительные характериÑтики нашего надежного партнера – компании «ArtWeb».
+
+ Ðа протÑжении вÑего периода ÑотрудничеÑтва у Ð½Ð°Ñ Ð½Ðµ было повода уÑомнитьÑÑ Ð² том, что в «ArtWeb» работают лучшие web-ÑпециалиÑты. СотрудничеÑтво Ñ Â«ArtWeb» ÑвлÑетÑÑ Ð²Ð°Ð¶Ð½Ð¾Ð¹ ÑоÑтавлÑющей лидерÑтва в Ñегменте нашей деÑтельноÑти.
+
+
+
+
+
+
+
+
Сергей Левицкий ПреÑÑ-Ñекретарьukravtodor.gov.ua
+
+
+
+ Укравтодор Ñотрудничает Ñ ÐºÐ¾Ð¼Ð¿Ð°Ð½Ð¸ÐµÐ¹ «ArtWeb» уже около года, в течение которого было реализовано неÑколько Ñложнейших веб-проектов - в кратчайший Ñрок Ñоздана Ð½Ð¾Ð²Ð°Ñ Ð²ÐµÑ€ÑÐ¸Ñ Ð¾Ñ„Ð¸Ñ†Ð¸Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ веб-Ñайта ГоÑагентÑва автомобильных дорог Украины, а также Ñ€Ñд интерактивных веб-приложений, информирующих о ÑоÑтоÑнии проезда и качеÑтве дорожного покрытиÑ.
+
+ С Ñамого начала ÑовмеÑтной работы ÑпециалиÑты компании продемонÑтрировали Ñвой выÑокий профеÑÑионализм, гибкоÑть, и оперативноÑть в решении вÑех возникающих вопроÑов, что позволило модернизировать официальное интернет-предÑтавительÑтво Укравтодора за рекордно короткий Ñрок - 3 меÑÑца. Ð’ то Ð²Ñ€ÐµÐ¼Ñ ÐºÐ°Ðº предыдущую верÑию веб-Ñайта, уÑтаревшую и не функциональную, Ñ€Ñд других компаний-разработчиков пыталиÑÑŒ уÑовершенÑтвовать на протÑжении 9 лет.
+
+ Ðтот уÑпешный опыт продемонÑтрировал ÑффективноÑть ÑотрудничеÑтва Ñ ÐºÐ¾Ð¼Ð¿Ð°Ð½Ð¸ÐµÐ¹ «ArtWeb» и потому вÑе поÑледующие интернет- проекты Укравтодора были переданы в разработку именно ей.
+
+ СпаÑибо руководÑтву и коллективу компании за понимание и поддержку в решении Ñложных и, как правило, чрезвычайно оперативных задач.
+
+ ПреÑÑ-Ñлужба Укравтодора
+
+
+
+
+
+
+
+
+
Ðндрей Богатырь ИÑполнительный менеджер проектаcensor.net.ua
+
+
+
+ Мы обратилиÑÑŒ к ArtWeb Ñ Ñ†ÐµÐ»ÑŒÑŽ улучшить качеÑтво индекÑации Ñайта поиÑковыми ÑиÑтемами и увеличить трафик от ключевых поиÑковых операторов. Ð”Ð»Ñ Ñтого «ArtWeb» нужно было провеÑти анализ наших недоработок по оптимизации и предоÑтавить план уÑовершенÑÑ‚Ð²Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸ Ð¿Ñ€Ð¾Ð´Ð²Ð¸Ð¶ÐµÐ½Ð¸Ñ Ñайта. Главной целью было добитьÑÑ ÑƒÐ²ÐµÐ»Ð¸Ñ‡ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¸Ñ‚Ð¾ÐºÐ° трафика из поиÑковых ÑиÑтем до ÑƒÑ€Ð¾Ð²Ð½Ñ Ð±Ð¾Ð»ÐµÐµ 50 тыÑ. переходов в Ñутки, в итоге через год поÑле Ð¿Ñ€Ð¾Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ñ€Ð°Ð±Ð¾Ñ‚ кумулÑтивный Ñффект дал приток трафика более 200 тыÑÑч переходов в Ñутки.
+
+ Благодарим «ArtWeb» за Ñлаженную и прозрачную ÑиÑтему по взаимодейÑтвию в процеÑÑе работы. Результат ÑотрудничеÑтва Ñ Â«ArtWeb» полноÑтью оправдал ожиданиÑ. Рекомендую вÑем Ñту компанию как профеÑÑионалов в облаÑти Ð¿Ñ€Ð¾Ð´Ð²Ð¸Ð¶ÐµÐ½Ð¸Ñ Ñайта.
+
+
+
+
+
+
+
+
+
+
+
+
Как мы работаем
+
+
+
+
+
+
Ðнализ
+ тематики
+ у конкурентов
+
+
+
+
+
+
Сбор
+ ÑемантичеÑкого
+ Ñдра
+
+
+
+
+
+
+
ВнутреннÑÑ
+ оптимизациÑ
+
+
+
+
+
+
+
+
ПоÑтроение
+ SEO-Ñтруктуры
+ проекта
+
+
+
+
+
+
+
+
Продвижение
+ Ñайта в локальном
+ поиÑке
+
+
+
+
+
+
ПоÑтроение
+ ÑÑылочной
+ маÑÑÑ‹
+
+
+
+
+
+
Работа над
+ поведенчеÑкими
+ факторами
+
+
+
+
+
+
+
+
ОтÑлеживание
+ KPI
+
+
+
+
+
+
\ No newline at end of file
diff --git a/frontend/views/site/services/serm.php b/frontend/views/site/services/serm.php
new file mode 100644
index 0000000..e751b7e
--- /dev/null
+++ b/frontend/views/site/services/serm.php
@@ -0,0 +1,405 @@
+title = 'РаÑкрутка Ñайта Киев | SEO продвижение интернет-магазина в поиÑковых ÑиÑтемах (Google, ЯндекÑ) Ñео Ð¾Ð¿Ñ‚Ð¸Ð¼Ð¸Ð·Ð°Ñ†Ð¸Ñ ÐšÐ¸ÐµÐ², Харьков, ДнепропетровÑк, Украина';
+$this->params['breadcrumbs'][] = 'SERM';
+
+$this->registerCssFile('/css/service_serm.css');
+
+$this->registerJsFile('/js/services/serm.js');
+?>
+
+
+ beginContent('@app/views/blocks/services.php', ['tab' => 2]); ?>
+ endContent(); ?>
+
+
+
+
+
+
+
+
+
+
+
+
Индивидуальныйподход
+
+
+
+
+
+
ДейÑтвеннаÑÑтратегиÑ
+
+
+
+
+
+
ОпытнаÑкоманда
+
+
+
+
+
+
+
+
+
+
+
+
+
+
УÑтранениенегативных отзывов
+
+
+
+
ЕÑтеÑтвенноепродвижение Ñайтав поиÑке
+
+
+
+
ПовышениелоÑльноÑти
+
+
+
+
СотрудничеÑтвоÑо СМИ
+
+
+
+
УвеличениеÑÑылочной маÑÑÑ‹
+
+
+
+
Положительныеотзывы на ÑайтахТОР10
+
+
+
+
+
+
+
+
УÑтранениенегативных отзывов
+
+
+
+
Довериеизбирателей
+
+
+
+
ФормированиеобщеÑтвенногомнениÑ
+
+
+
+
Ð‘Ð¾Ñ€ÑŒÐ±Ð°Ñ ÐºÐ¾Ð½ÐºÑƒÑ€ÐµÐ½Ñ‚Ð°Ð¼Ð¸
+
+
+
+
Укреплениеавторитета
+
+
+
+
Ð”Ð¸Ð°Ð»Ð¾Ð³Ñ Ð½Ð°Ñелением
+
+
+
+
+
+
+
+
+
Формированиеположительногоимиджа
+
+
+
+
ÐŸÐ¾Ð²Ñ‹ÑˆÐµÐ½Ð¸ÐµÐ´Ð¾Ð²ÐµÑ€Ð¸Ñ ÐºÐ»Ð¸ÐµÐ½Ñ‚Ð¾Ð²
+
+
+
+
Работа Ñнегативнымиотзывами
+
+
+
+
Размещениеимиджевых материаловв профильных СМИ
+
+
+
+
УÑилениеположительных
+ отзывов
+
+
+
+
Ðет ни одногоотзыва о ваÑ
+
+
+
+
+
+
+
+
+
Команда на проект
+
+
+
+ Ðккаунт-менеджер
+
+
+ Интернет-маркетолог
+
+
+ SEO-ÑпециалиÑÑ‚
+
+
+
+
+ Копирайтер
+
+
+ Редактор
+
+
+
+
+
+
+
5 причин работать Ñ Ð½Ð°Ð¼Ð¸
+
+
+
+
1
+
ПоÑтоÑнный мониторинг новоÑтных Ñайтов, блогов и Ñоциальных Ñетей. Мы держим руку на пульÑе Ñобытий, оперативно и Ñпокойнореагируем на негатив.
+
+
+
2
+
Ðапишем имиджевые Ñтатьи и комментарии Ñ Ð´ÑƒÑˆÐ¾Ð¹ и в Ñтиле ваших клиентов.
+
+
+
+
3
+
ЕÑли возникнет необходимоÑть, поÑтавим конкурентов на меÑто. Да, мы можем быть и не такими уж добрыми.
+
+
+
4
+
ЕÑли о Ð²Ð°Ñ Ð½Ðµ знает интернет, Ñоздадим Ñтратегию поÑÑ‚Ñ€Ð¾ÐµÐ½Ð¸Ñ Ð¸Ð¼Ð¸Ð´Ð¶Ð°, бренда.
+
+
+
5
+
У Ð½Ð°Ñ ÐµÑть ÑвÑзи в СМИ.
+
+
+
Реще мы поÑещаем Ñеминары, конференции, общаемÑÑ, Ñ ÐºÐ¾Ð»Ð»ÐµÐ³Ð°Ð¼Ð¸, обмениваемÑÑ Ð·Ð½Ð°Ð½Ð¸Ñми, читаем профеÑÑиональную литературу.,ПоÑтому и информированы лучше, чем оÑтальные.
+
+
+
+
+
+
+
+
Ð ÐµÐ¿ÑƒÑ‚Ð°Ñ†Ð¸Ñ Ð² поиÑковых ÑиÑтемах
+
+
Ð’Ñ‹ знаете, о ком говорÑÑ‚ либо хорошо, либо ничего. Ð’
+ Ñлучае уÑпешно развивающегоÑÑ Ð±Ð¸Ð·Ð½ÐµÑа или карьеры
+ избежать негативных отзывов проÑто невозможно. Ð’ Ñтом
+ Ñлучае молчание – не золото. И придетÑÑ Ð·Ð°Ð´ÐµÐ¹Ñтвовать вÑÑŽ артиллерию Ð´Ð»Ñ Ð±Ð¾Ñ€ÑŒÐ±Ñ‹ Ñ ÐºÐ¾Ð½ÐºÑƒÑ€ÐµÐ½Ñ‚Ð°Ð¼Ð¸ и отÑтаивание доброго имени в интернете.
+
+
+
+ Отзывы читают, отзывам верÑÑ‚, прежде чем купить товар,
+ изучают комментарии других покупателей.
+
+ SERM - управление репутацией в поиÑковых ÑиÑтемах – один из оÑновных Ñлементов поиÑкового маркетинга и включает неÑколько методов: белый, Ñерый и черный.
+
+ Белый метод – чеÑтноÑть и открытоÑть, Ð´ÐµÐ»Ð¸ÐºÐ°Ñ‚Ð½Ð°Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ð° Ñ Ð½ÐµÐ³Ð°Ñ‚Ð¸Ð²Ð½Ñ‹Ð¼Ð¸ отзывами, диалог Ñ ÐºÐ»Ð¸ÐµÐ½Ñ‚Ð°Ð¼Ð¸, решение их проблем.
+
+ Серый метод – удаление негативных отзывов, наполнение поиÑковой выдачи положительными комментариÑми. Ðтот метод не решает проблем клиентов. Ðо решает проблему бизнеÑа, ведь не вÑегда плохие комментарии оÑтавлÑÑŽÑ‚ клиенты – Ñтим грешат конкуренты.
+
+ Черный метод – Ñто черный пиар – борьба Ñ ÐºÐ¾Ð½ÐºÑƒÑ€ÐµÐ½Ñ‚Ð°Ð¼Ð¸ и показ ÑÐµÐ±Ñ Ð² лучшем Ñвете. Ðтот метод дает быÑтрые результаты, но он деÑтруктивен и опаÑен Ð´Ð»Ñ Ñ€Ñ‹Ð½ÐºÐ°.
+
+
+
+
+
+
Ð’ борьбе за результат вÑе методы хороши. Ð’ первую очередь мы разрабатываем индивидуальную Ñтратегию, ведь одного дейÑтвенного рецепта Ð´Ð»Ñ Ð²Ñех не ÑущеÑтвует.
+
+
+
Ð®Ð»Ð¸Ñ Ð¡Ð¾Ñ‚Ð½Ð¸ÐºÐ¾Ð²Ð° руководитель отдела лоÑльноÑти
+
+
+
+
+
+
+
Где мы работаем
+
+
+
+
ÐовоÑтные Ñайты
+
+
+
+
Блоги
+
+
+
+
Форумы
+
+
+
+
ТематичеÑкие Ñайтыи порталы
+
+
+
+
Социальные Ñети
+
+
+
+
СервиÑÑ‹ отзывов
+
+
+
+
СервиÑывопроÑов-ответов
+
+
+
+
ЯндекÑ.Картыи Google.Maps
+
+
+
+
+
+
+
ÐÐ°Ñ Ñ€ÐµÐºÐ¾Ð¼ÐµÐ½Ð´ÑƒÑŽÑ‚Ð·Ð° результаты, а не краÑивые отчеты
+
+
+
+
+
+
+
Ð¡Ð¾Ð»Ð¾Ð¼Ñ–Ñ Ð¡Ð¸Ð²Ð¸Ðº Маркетинг-менеджерextremstyle.ua
+
+
+
+ ÐšÐ¾Ð¼Ð¿Ð°Ð½Ð¸Ñ Â«ArtWeb» Ñопровождает Ð½Ð°Ñ Ñ Ñамого начала деÑтельноÑти в Ñети интернет. Ð Ñто уже более деÑÑти лет. ДолгоÑрочноÑть ÑотрудничеÑтва ÑвлÑетÑÑ Ð»ÑƒÑ‡ÑˆÐ¸Ð¼ показателем его уÑпешноÑти и Ð²Ð·Ð°Ð¸Ð¼Ð¾Ð¿Ð¾Ð½Ð¸Ð¼Ð°Ð½Ð¸Ñ Ð½Ð° пути Ñ€ÐµÑˆÐµÐ½Ð¸Ñ Ð²Ð¾Ð·Ð½Ð¸ÐºÐ°ÑŽÑ‰Ð¸Ñ… задач и целей. ЯвлÑÑÑÑŒ Ñоздателем наших Ñайтов, ÐºÐ¾Ð¼Ð¿Ð°Ð½Ð¸Ñ Â«ArtWeb» обеÑпечивает не только их беÑперебойное техничеÑкое обÑлуживание и лидирующие позиции, но и полное ÑоответÑтвие новейшим тенденциÑм в интернет-технологиÑÑ…. ÐарÑду Ñ Ñ€ÐµÑˆÐµÐ½Ð¸ÐµÐ¼ наших текущих задач, ÑпециалиÑты «ArtWeb» поÑтоÑнно предлагают немного больше, чем то, Ñ Ñ‡ÐµÐ¼ мы обратилиÑÑŒ, то еÑть решение задач более выÑокого уровнÑ. Внедрение, казалоÑÑŒ бы, фантаÑтичеÑких замыÑлов в развитие Ñайта, иногда опережает даже Ñамое Ñмелое планирование.
+
+ Важным аÑпектом нашего ÑотрудничеÑтва Ñ Â«ArtWeb» ÑвлÑетÑÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾Ñть целенаправленного ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÐºÐ»Ð¸ÐµÐ½Ñ‚Ñкой базой и Ð¾Ð¿Ñ‚Ð¸Ð¼Ð¸Ð·Ð°Ñ†Ð¸Ñ ÐµÐµ не только количеÑтвенных, но и качеÑтвенных показателей, что непоÑредÑтвенно влиÑет на роÑÑ‚ прибыли нашей компании. ОтветÑтвенноÑть, гибкоÑть, умение работать на результат, креативноÑть мышлениÑ, оперативное реагирование на вÑе наши запроÑÑ‹, Ð¿Ð¾Ð»Ð½Ð°Ñ Ð¾ÑведомленноÑть обо вÑем проиÑходÑщем на рынке новейших интернет-технологий и отчаÑти их авторÑÐºÐ°Ñ Ñ€Ð°Ð·Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ° – отличительные характериÑтики нашего надежного партнера – компании «ArtWeb».
+
+ Ðа протÑжении вÑего периода ÑотрудничеÑтва у Ð½Ð°Ñ Ð½Ðµ было повода уÑомнитьÑÑ Ð² том, что в «ArtWeb» работают лучшие web-ÑпециалиÑты. СотрудничеÑтво Ñ Â«ArtWeb» ÑвлÑетÑÑ Ð²Ð°Ð¶Ð½Ð¾Ð¹ ÑоÑтавлÑющей лидерÑтва в Ñегменте нашей деÑтельноÑти.
+
+
+
+
+
+
+
+
Сергей Левицкий ПреÑÑ-Ñекретарьukravtodor.gov.ua
+
+
+
+ Укравтодор Ñотрудничает Ñ ÐºÐ¾Ð¼Ð¿Ð°Ð½Ð¸ÐµÐ¹ «ArtWeb» уже около года, в течение которого было реализовано неÑколько Ñложнейших веб-проектов - в кратчайший Ñрок Ñоздана Ð½Ð¾Ð²Ð°Ñ Ð²ÐµÑ€ÑÐ¸Ñ Ð¾Ñ„Ð¸Ñ†Ð¸Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ веб-Ñайта ГоÑагентÑва автомобильных дорог Украины, а также Ñ€Ñд интерактивных веб-приложений, информирующих о ÑоÑтоÑнии проезда и качеÑтве дорожного покрытиÑ.
+
+ С Ñамого начала ÑовмеÑтной работы ÑпециалиÑты компании продемонÑтрировали Ñвой выÑокий профеÑÑионализм, гибкоÑть, и оперативноÑть в решении вÑех возникающих вопроÑов, что позволило модернизировать официальное интернет-предÑтавительÑтво Укравтодора за рекордно короткий Ñрок - 3 меÑÑца. Ð’ то Ð²Ñ€ÐµÐ¼Ñ ÐºÐ°Ðº предыдущую верÑию веб-Ñайта, уÑтаревшую и не функциональную, Ñ€Ñд других компаний-разработчиков пыталиÑÑŒ уÑовершенÑтвовать на протÑжении 9 лет.
+
+ Ðтот уÑпешный опыт продемонÑтрировал ÑффективноÑть ÑотрудничеÑтва Ñ ÐºÐ¾Ð¼Ð¿Ð°Ð½Ð¸ÐµÐ¹ «ArtWeb» и потому вÑе поÑледующие интернет- проекты Укравтодора были переданы в разработку именно ей.
+
+ СпаÑибо руководÑтву и коллективу компании за понимание и поддержку в решении Ñложных и, как правило, чрезвычайно оперативных задач.
+
+ ПреÑÑ-Ñлужба Укравтодора
+
+
+
+
+
+
+
+
+
Ðндрей Богатырь ИÑполнительный менеджер проектаcensor.net.ua
+
+
+
+ Мы обратилиÑÑŒ к ArtWeb Ñ Ñ†ÐµÐ»ÑŒÑŽ улучшить качеÑтво индекÑации Ñайта поиÑковыми ÑиÑтемами и увеличить трафик от ключевых поиÑковых операторов. Ð”Ð»Ñ Ñтого «ArtWeb» нужно было провеÑти анализ наших недоработок по оптимизации и предоÑтавить план уÑовершенÑÑ‚Ð²Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸ Ð¿Ñ€Ð¾Ð´Ð²Ð¸Ð¶ÐµÐ½Ð¸Ñ Ñайта. Главной целью было добитьÑÑ ÑƒÐ²ÐµÐ»Ð¸Ñ‡ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¸Ñ‚Ð¾ÐºÐ° трафика из поиÑковых ÑиÑтем до ÑƒÑ€Ð¾Ð²Ð½Ñ Ð±Ð¾Ð»ÐµÐµ 50 тыÑ. переходов в Ñутки, в итоге через год поÑле Ð¿Ñ€Ð¾Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ñ€Ð°Ð±Ð¾Ñ‚ кумулÑтивный Ñффект дал приток трафика более 200 тыÑÑч переходов в Ñутки.
+
+ Благодарим «ArtWeb» за Ñлаженную и прозрачную ÑиÑтему по взаимодейÑтвию в процеÑÑе работы. Результат ÑотрудничеÑтва Ñ Â«ArtWeb» полноÑтью оправдал ожиданиÑ. Рекомендую вÑем Ñту компанию как профеÑÑионалов в облаÑти Ð¿Ñ€Ð¾Ð´Ð²Ð¸Ð¶ÐµÐ½Ð¸Ñ Ñайта.
+
+
+
+
+
+
+
+
+
+
+
+
Как мы работаем
+
+
+
+
+
+
Ðнализ выдачив поиÑковыхÑиÑтемах
+
+
+
+
+
+
МониторингÑоциальных Ñетей
+
+
+
+
+
+
Картанегативныхотзывов
+
+
+
+
+
+
Ð¡Ñ‚Ñ€Ð°Ñ‚ÐµÐ³Ð¸Ñ Ð¸ выборплощадок длÑразмещениÑ
+
+
+
+
+
+
Размещениеконтента
+
+
+
+
+
+
Удаление(еÑли возможно)
+
+
+
+
+
+
ПоÑтроениедиалога Ñклиентами
+
+
+
+
+
+
ПоÑтоÑнныймониторинги отчетноÑть
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/frontend/views/site/services/smm.php b/frontend/views/site/services/smm.php
new file mode 100644
index 0000000..65215c0
--- /dev/null
+++ b/frontend/views/site/services/smm.php
@@ -0,0 +1,365 @@
+title = 'РаÑкрутка Ñайта Киев | SEO продвижение интернет-магазина в поиÑковых ÑиÑтемах (Google, ЯндекÑ) Ñео Ð¾Ð¿Ñ‚Ð¸Ð¼Ð¸Ð·Ð°Ñ†Ð¸Ñ ÐšÐ¸ÐµÐ², Харьков, ДнепропетровÑк, Украина';
+$this->params['breadcrumbs'][] = 'SMM';
+
+$this->registerCssFile('/css/service_smm.css');
+
+$this->registerJsFile('/js/services/smm.js');
+?>
+
+
+ beginContent('@app/views/blocks/services.php', ['tab' => 2]); ?>
+ endContent(); ?>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
уÑпешных проектов
+
+
+
+
+
Индивидуальныйподход
+
+
+
+
ДейÑтвеннаÑÑтратегиÑ
+
+
+
+
ОпытнаÑкоманда
+
+
+
+
+
+
+
+
+
+
+
+
+
Хотите привлечьклиентов из новыхиÑточников
+
+
+
+
ТребуетÑÑ Ð±Ñ€ÐµÐ½Ð´Ð¸Ð½Ð³ по качеÑтвенной ЦÐ
+
+
+
+
Ðужно меÑто длÑÐ¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ñ Ð»Ð¾Ñльнойаудиторией
+
+
+
+
ТребуетÑÑ Ð²Ñ‹ÑокаÑконверÑÐ¸Ñ Ñ Ñоциальногоремаркетинга
+
+
+
+
Ðужно продаватьизлишки акционныхтоваров
+
+
+
+
ПовыÑить траÑтовоÑтьÑайта
+
+
+
+
+
+
+
+
Площадка длÑкоммуникации
+
+
+
+
РоÑтпоÑещаемоÑтиÑайта
+
+
+
+
ПовышениетраÑтовоÑтиÑайта
+
+
+
+
БыÑтроеиндекÑированиеновых Ñтраниц
+
+
+
+
+
+
+
КейÑ
+
+
+
+
+
+
+
+
+
+
+
+
поÑещаемоÑтьÑайта Ñ Facebook
+
+
+
+
+
+
+
+
+
+
+
+
Команда на проект
+
+
+
+ Ðккаунт-менеджер
+
+
+ Интернет-маркетолог
+
+
+ SMM-менеджер
+
+
+
+
+ Дизайнер
+
+
+ Ðналитик
+
+
+
+
+
+
+
5 причин работать Ñ Ð½Ð°Ð¼Ð¸
+
+
+
+
1
+
Работаем не Ñ 9 до 18, а тогда,когда ваша Ñ†ÐµÐ»ÐµÐ²Ð°Ñ Ð°ÑƒÐ´Ð¸Ñ‚Ð¾Ñ€Ð¸ÑнаходитÑÑ Ð² ÑоцÑетÑÑ…. мы будет поÑтитьтогда, когда Ñта наиболееÑффективно.
+
+
+
2
+
У Ð½Ð°Ñ Ð³Ð¸Ð±ÐºÐ¸Ðµ цены и открытый бюджет.Ðам нечего Ñкрывать - вы Ñамиувидите, наÑколько ÑффективнораÑходуютÑÑ Ð²Ð°ÑˆÐ¸ деньги.
+
+
+
+
3
+
Охватываем вÑе популÑрныеÑообщеÑтва, Ð²ÐºÐ»ÑŽÑ‡Ð°Ñ Ð±Ð»Ð¾Ð³Ð¸ и форумы.Видео, инфографика, Ñтатьии иллюÑтрации –любой каприз.
+
+
+
4
+
Мы любим SMM и знаем о нем больше,чем бабушки на лавочкео ÑоÑедÑÑ….
+
+
+
5
+
Ðаша команда уважаети Ñоблюдает Ñроки.Ðам не нужно напоминать,мы заинтереÑованы в результатебольше ваÑ.
+
+
+
Реще мы поÑещаем Ñеминары, конференции, общаемÑÑ, Ñ ÐºÐ¾Ð»Ð»ÐµÐ³Ð°Ð¼Ð¸, обмениваемÑÑ Ð·Ð½Ð°Ð½Ð¸Ñми, читаем профеÑÑиональную литературу.,ПоÑтому и информированы лучше, чем оÑтальные.
+
+
+
+
+
+
+
+
ВзаимодейÑтвуйте Ñ Ð°ÑƒÐ´Ð¸Ñ‚Ð¾Ñ€Ð¸ÐµÐ¹Ñоциальных Ñетей
+
+
Социальные Ñети Ñамый быÑтрораÑтущий Ñегментинтернет-рынка. Миллионы пользователей в Facebook,Вконтактемогут Ñтать вашими клиентами. Ðеплохо,правда. Плохо то, что интернет-магазины зачаÑтуюограничиваютÑÑ Ð½ÐµÑколькими рекламными публикациÑмии, не получив результата, заÑвлÑÑŽÑ‚, что ÑоцÑетинеÑффективны. Мы идем другим путем и работаемкомплекÑно.
+
+
В чем же фишка
+
+
+ 1. Ð¢Ð°Ñ€Ð³ÐµÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ð°Ñ Ñ€ÐµÐºÐ»Ð°Ð¼Ð° – макÑимум Ñффекта даже Ñ
+ минимальным бюджетом.
+ 2. ÐŸÐ¾Ð´Ñ€Ð¾Ð±Ð½Ð°Ñ ÑÑ‚Ñ€Ð°Ñ‚ÐµÐ³Ð¸Ñ Ð¿Ñ€Ð¾Ð´Ð²Ð¸Ð¶ÐµÐ½Ð¸Ñ.
+ 3. ÐžÑ€Ð³Ð°Ð½Ð¸Ð·Ð°Ñ†Ð¸Ñ ÐºÐ¾Ð½ÐºÑƒÑ€Ñов.
+ 4. Продвижение мероприÑтий.
+ 5. Создание вируÑного контента.
+ 6. Дизайн Ñтраниц. Wiki-разметка ВКонтакте.
+ 7. ÐœÐ¾Ð´ÐµÑ€Ð°Ñ†Ð¸Ñ ÑообщеÑтв и общение Ñ ÑƒÑ‡Ð°Ñтниками.
+ 8. ПоÑтоÑнный роÑÑ‚ лидов и повторных продаж.
+ 9. Ðналитика и отчетноÑть.
+
+
+
+
Работа Ñ ÑоцÑетÑми –долгий и кропотливый труд,доверьтеÑÑŒ профеÑÑионалами получайте новых клиентови лоÑльную аудиторию.
+
+
+
Ðртем ДоброÑовеÑтный SMM-ÑпециалиÑÑ‚
+
+
+
+
+
+
+
СоцÑети, в которых мы работаем
+
+
+
+
ÐÐ°Ñ Ñ€ÐµÐºÐ¾Ð¼ÐµÐ½Ð´ÑƒÑŽÑ‚Ð·Ð° результаты, а не краÑивые отчеты
+
+
+
+
+
+
+
Ð¡Ð¾Ð»Ð¾Ð¼Ñ–Ñ Ð¡Ð¸Ð²Ð¸Ðº Маркетинг-менеджерextremstyle.ua
+
+
+
+ ÐšÐ¾Ð¼Ð¿Ð°Ð½Ð¸Ñ Â«ArtWeb» Ñопровождает Ð½Ð°Ñ Ñ Ñамого начала деÑтельноÑти в Ñети интернет. Ð Ñто уже более деÑÑти лет. ДолгоÑрочноÑть ÑотрудничеÑтва ÑвлÑетÑÑ Ð»ÑƒÑ‡ÑˆÐ¸Ð¼ показателем его уÑпешноÑти и Ð²Ð·Ð°Ð¸Ð¼Ð¾Ð¿Ð¾Ð½Ð¸Ð¼Ð°Ð½Ð¸Ñ Ð½Ð° пути Ñ€ÐµÑˆÐµÐ½Ð¸Ñ Ð²Ð¾Ð·Ð½Ð¸ÐºÐ°ÑŽÑ‰Ð¸Ñ… задач и целей. ЯвлÑÑÑÑŒ Ñоздателем наших Ñайтов, ÐºÐ¾Ð¼Ð¿Ð°Ð½Ð¸Ñ Â«ArtWeb» обеÑпечивает не только их беÑперебойное техничеÑкое обÑлуживание и лидирующие позиции, но и полное ÑоответÑтвие новейшим тенденциÑм в интернет-технологиÑÑ…. ÐарÑду Ñ Ñ€ÐµÑˆÐµÐ½Ð¸ÐµÐ¼ наших текущих задач, ÑпециалиÑты «ArtWeb» поÑтоÑнно предлагают немного больше, чем то, Ñ Ñ‡ÐµÐ¼ мы обратилиÑÑŒ, то еÑть решение задач более выÑокого уровнÑ. Внедрение, казалоÑÑŒ бы, фантаÑтичеÑких замыÑлов в развитие Ñайта, иногда опережает даже Ñамое Ñмелое планирование.
+
+ Важным аÑпектом нашего ÑотрудничеÑтва Ñ Â«ArtWeb» ÑвлÑетÑÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾Ñть целенаправленного ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÐºÐ»Ð¸ÐµÐ½Ñ‚Ñкой базой и Ð¾Ð¿Ñ‚Ð¸Ð¼Ð¸Ð·Ð°Ñ†Ð¸Ñ ÐµÐµ не только количеÑтвенных, но и качеÑтвенных показателей, что непоÑредÑтвенно влиÑет на роÑÑ‚ прибыли нашей компании. ОтветÑтвенноÑть, гибкоÑть, умение работать на результат, креативноÑть мышлениÑ, оперативное реагирование на вÑе наши запроÑÑ‹, Ð¿Ð¾Ð»Ð½Ð°Ñ Ð¾ÑведомленноÑть обо вÑем проиÑходÑщем на рынке новейших интернет-технологий и отчаÑти их авторÑÐºÐ°Ñ Ñ€Ð°Ð·Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ° – отличительные характериÑтики нашего надежного партнера – компании «ArtWeb».
+
+ Ðа протÑжении вÑего периода ÑотрудничеÑтва у Ð½Ð°Ñ Ð½Ðµ было повода уÑомнитьÑÑ Ð² том, что в «ArtWeb» работают лучшие web-ÑпециалиÑты. СотрудничеÑтво Ñ Â«ArtWeb» ÑвлÑетÑÑ Ð²Ð°Ð¶Ð½Ð¾Ð¹ ÑоÑтавлÑющей лидерÑтва в Ñегменте нашей деÑтельноÑти.
+
+
+
+
+
+
+
+
Сергей Левицкий ПреÑÑ-Ñекретарьukravtodor.gov.ua
+
+
+
+ Укравтодор Ñотрудничает Ñ ÐºÐ¾Ð¼Ð¿Ð°Ð½Ð¸ÐµÐ¹ «ArtWeb» уже около года, в течение которого было реализовано неÑколько Ñложнейших веб-проектов - в кратчайший Ñрок Ñоздана Ð½Ð¾Ð²Ð°Ñ Ð²ÐµÑ€ÑÐ¸Ñ Ð¾Ñ„Ð¸Ñ†Ð¸Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ веб-Ñайта ГоÑагентÑва автомобильных дорог Украины, а также Ñ€Ñд интерактивных веб-приложений, информирующих о ÑоÑтоÑнии проезда и качеÑтве дорожного покрытиÑ.
+
+ С Ñамого начала ÑовмеÑтной работы ÑпециалиÑты компании продемонÑтрировали Ñвой выÑокий профеÑÑионализм, гибкоÑть, и оперативноÑть в решении вÑех возникающих вопроÑов, что позволило модернизировать официальное интернет-предÑтавительÑтво Укравтодора за рекордно короткий Ñрок - 3 меÑÑца. Ð’ то Ð²Ñ€ÐµÐ¼Ñ ÐºÐ°Ðº предыдущую верÑию веб-Ñайта, уÑтаревшую и не функциональную, Ñ€Ñд других компаний-разработчиков пыталиÑÑŒ уÑовершенÑтвовать на протÑжении 9 лет.
+
+ Ðтот уÑпешный опыт продемонÑтрировал ÑффективноÑть ÑотрудничеÑтва Ñ ÐºÐ¾Ð¼Ð¿Ð°Ð½Ð¸ÐµÐ¹ «ArtWeb» и потому вÑе поÑледующие интернет- проекты Укравтодора были переданы в разработку именно ей.
+
+ СпаÑибо руководÑтву и коллективу компании за понимание и поддержку в решении Ñложных и, как правило, чрезвычайно оперативных задач.
+
+ ПреÑÑ-Ñлужба Укравтодора
+
+
+
+
+
+
+
+
+
Ðндрей Богатырь ИÑполнительный менеджер проектаcensor.net.ua
+
+
+
+ Мы обратилиÑÑŒ к ArtWeb Ñ Ñ†ÐµÐ»ÑŒÑŽ улучшить качеÑтво индекÑации Ñайта поиÑковыми ÑиÑтемами и увеличить трафик от ключевых поиÑковых операторов. Ð”Ð»Ñ Ñтого «ArtWeb» нужно было провеÑти анализ наших недоработок по оптимизации и предоÑтавить план уÑовершенÑÑ‚Ð²Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸ Ð¿Ñ€Ð¾Ð´Ð²Ð¸Ð¶ÐµÐ½Ð¸Ñ Ñайта. Главной целью было добитьÑÑ ÑƒÐ²ÐµÐ»Ð¸Ñ‡ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¸Ñ‚Ð¾ÐºÐ° трафика из поиÑковых ÑиÑтем до ÑƒÑ€Ð¾Ð²Ð½Ñ Ð±Ð¾Ð»ÐµÐµ 50 тыÑ. переходов в Ñутки, в итоге через год поÑле Ð¿Ñ€Ð¾Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ñ€Ð°Ð±Ð¾Ñ‚ кумулÑтивный Ñффект дал приток трафика более 200 тыÑÑч переходов в Ñутки.
+
+ Благодарим «ArtWeb» за Ñлаженную и прозрачную ÑиÑтему по взаимодейÑтвию в процеÑÑе работы. Результат ÑотрудничеÑтва Ñ Â«ArtWeb» полноÑтью оправдал ожиданиÑ. Рекомендую вÑем Ñту компанию как профеÑÑионалов в облаÑти Ð¿Ñ€Ð¾Ð´Ð²Ð¸Ð¶ÐµÐ½Ð¸Ñ Ñайта.
+
+
+
+
+
+
+
+
+
+
+
+
Как мы работаем
+
+
+
+
+
+
Ðнализ ЦÐи конкурентов
+
+
+
+
+
+
Выбор Ð¿Ð»Ð¾Ñ‰Ð°Ð´Ð¾ÐºÐ´Ð»Ñ Ð¿Ñ€Ð¾Ð´Ð²Ð¸Ð¶ÐµÐ½Ð¸Ñ
+
+
+
+
+
+
СозданиеÑообщеÑтва
+
+
+
+
+
+
Ðаполнение,модерациÑ, поддержка
+
+
+
+
+
+
Дизайни контент-план
+
+
+
+
+
+
Проводим конкурÑÑ‹,акции, голоÑованиÑ
+
+
+
+
+
+
ОтчетноÑть
+
+
+
+
+
+
ОтÑлеживаемKPI
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/frontend/views/site/services/usability.php b/frontend/views/site/services/usability.php
new file mode 100644
index 0000000..1912c8e
--- /dev/null
+++ b/frontend/views/site/services/usability.php
@@ -0,0 +1,365 @@
+title = 'РаÑкрутка Ñайта Киев | SEO продвижение интернет-магазина в поиÑковых ÑиÑтемах (Google, ЯндекÑ) Ñео Ð¾Ð¿Ñ‚Ð¸Ð¼Ð¸Ð·Ð°Ñ†Ð¸Ñ ÐšÐ¸ÐµÐ², Харьков, ДнепропетровÑк, Украина';
+$this->params['breadcrumbs'][] = 'Юзабилити';
+
+$this->registerCssFile('/css/service_usability.css');
+
+$this->registerJsFile('/js/services/usability.js');
+?>
+
+
+ beginContent('@app/views/blocks/services.php', ['tab' => 4]); ?>
+ endContent(); ?>
+
+
+
+
+
+
+
+
+
+
+
Индивидуальныйподход
+
+
+
+
+
ДейÑтвеннаÑÑтратегиÑ
+
+
+
+
ОпытнаÑкоманда
+
+
+
+
Глубокийанализ
+
+
+
+
+
+
+
+
+
Зачем вам Usability?
+
+
+
+
Увеличить количеÑтво
+ заÑвок
+
+
+
+
Уменьшить процент
+ отказов
+
+
+
+
Снизить времÑ
+ загрузки Ñтраницы
+
+
+
+
Улучшить ПФ и
+ прибыльноÑть Ñайта
+
+
+
+
Снизить ÑтоимоÑть Ð¿Ñ€Ð¸Ð²Ð»ÐµÑ‡ÐµÐ½Ð¸Ñ ÐºÐ»Ð¸ÐµÐ½Ñ‚Ð°
+ за Ñчет роÑта конверÑии
+
+
+
+
+
+
+
+
Увеличить
+ глубину проÑмотров
+
+
+
+
ПравильноразмеÑтить
+ рекламные блоки
+
+
+
+
ПовыÑить CTR
+ и подпиÑку
+
+
+
+
РоÑÑ‚ поÑтоÑнных
+ читателей
+
+
+
+
+
+
+
Команда на проект
+
+
+
+ Ðккаунт-менеджер
+
+
+ Интернет-маркетолог
+
+
+ Web-аналитик
+
+
+
+
+ Дизайнер
+
+
+ ПрограммиÑÑ‚
+
+
+
+
+
+
+
+
С Ñтой уÑлугой чаÑто заказывают
+
+
+
+
+
+
+ ПоиÑÐºÐ¾Ð²Ð°Ñ Ð¾Ð¿Ñ‚Ð¸Ð¼Ð¸Ð·Ð°Ñ†Ð¸Ñ
+
+
+
+
+
+
+
+
+
+ Продвижение вÑоциальных ÑетÑÑ…
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Что мы анализируем
+
+
+
+
+
+
+
Ð“Ð»Ð°Ð²Ð½Ð°Ñ Ñтраница
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Логика меню
+
+
+
+
+
+
+
+
Форма заказа
+ и обратной ÑвÑзи
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Контент:
+ текÑÑ‚, фото, видео
+
+
+
+
+
+
+
+
Отображение
+ в разных браузерах
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Под понÑтием «юзабилити Ñайта»
+ подразумеваетÑÑ Ð¿Ñ€Ð¾Ñтота и удобÑтво его
+ иÑпользованиÑ, ÑпоÑобноÑть удержать
+ Ñ‡Ð¸Ñ‚Ð°Ñ‚ÐµÐ»Ñ Ð¸Ð»Ð¸ клиента. Юзабилити решает
+ ключевые проблемы интернет-проектов:
+ лоÑльноть поÑетителей, выÑÐ¾ÐºÐ°Ñ ÐºÐ¾Ð½Ð²ÐµÑ€ÑÐ¸Ñ Ð¸
+ прибыльноÑть.
+
+
+
+
+
Довольные клиенты и выÑÐ¾ÐºÐ°Ñ ÐºÐ¾Ð½Ð²ÐµÑ€ÑиÑ
+
+
Ð’Ñ‹ Ñделали краÑивый дизайн, наполнили Ñайт информацией,
+ но глубина проÑмотров Ð½Ð¸Ð·ÐºÐ°Ñ Ð¸ заказов практичеÑки нет.
+ Возможно, клиентам неудобно на Ñайте: Ð·Ð°Ð¿ÑƒÑ‚Ð°Ð½Ð½Ð°Ñ Ñ„Ð¾Ñ€Ð¼Ð°
+ заказа, корзина и контактные данные ÑпрÑтаны лучше
+ ÑтратегичеÑкого запаÑа, нет гарантий Ð´Ð»Ñ Ð¿Ð¾ÐºÑƒÐ¿Ð°Ñ‚ÐµÐ»ÐµÐ¹.
+ И Ñто только вершина айÑберга.
+
+
+
+ Чтобы определить, удобен ли Ñайт ответьте на три вопроÑа:
+ 1.Легко ли поÑетителÑм на Ñайте?
+ 2.Почему оÑтаютÑÑ Ð±Ñ€Ð¾ÑˆÐµÐ½Ð½Ñ‹Ðµ корзины?
+ 3.Решает ли Ñайт проблему клиентов?
+ ЗатруднÑетеÑÑŒ Ñ…Ð¾Ñ‚Ñ Ð±Ñ‹ Ñ Ð¾Ð´Ð½Ð¸Ð¼ ответом, тогда обратитеÑÑŒ к ÑпециалиÑтам.
+
+
+
+
Что мы делаем:
+
+ • Тщательно анализируем ÑтатиÑтику
+ поÑещений.
+ • С помощью ГРи ЯМ определÑем
+ Ñлабые меÑта Ñайта.
+ • Создаем тепловые карты.
+ • ОпределÑем идеальный Ñценарий
+ поÑещениÑ.
+ • Оцениваем Ñтруктуру Ñайта.
+
+
+
Ðнтон Ð—Ð¾Ð·ÑƒÐ»Ñ Ñ€ÑƒÐºÐ¾Ð²Ð¾Ð´Ð¸Ñ‚ÐµÐ»ÑŒ отдела лоÑльноÑти
+
+
+
+
+
+
+
ÐÐ°Ñ Ñ€ÐµÐºÐ¾Ð¼ÐµÐ½Ð´ÑƒÑŽÑ‚Ð·Ð° результаты, а не краÑивые отчеты
+
+
+
+
+
+
+
Ð¡Ð¾Ð»Ð¾Ð¼Ñ–Ñ Ð¡Ð¸Ð²Ð¸Ðº Маркетинг-менеджерextremstyle.ua
+
+
+
+ ÐšÐ¾Ð¼Ð¿Ð°Ð½Ð¸Ñ Â«ArtWeb» Ñопровождает Ð½Ð°Ñ Ñ Ñамого начала деÑтельноÑти в Ñети интернет. Ð Ñто уже более деÑÑти лет. ДолгоÑрочноÑть ÑотрудничеÑтва ÑвлÑетÑÑ Ð»ÑƒÑ‡ÑˆÐ¸Ð¼ показателем его уÑпешноÑти и Ð²Ð·Ð°Ð¸Ð¼Ð¾Ð¿Ð¾Ð½Ð¸Ð¼Ð°Ð½Ð¸Ñ Ð½Ð° пути Ñ€ÐµÑˆÐµÐ½Ð¸Ñ Ð²Ð¾Ð·Ð½Ð¸ÐºÐ°ÑŽÑ‰Ð¸Ñ… задач и целей. ЯвлÑÑÑÑŒ Ñоздателем наших Ñайтов, ÐºÐ¾Ð¼Ð¿Ð°Ð½Ð¸Ñ Â«ArtWeb» обеÑпечивает не только их беÑперебойное техничеÑкое обÑлуживание и лидирующие позиции, но и полное ÑоответÑтвие новейшим тенденциÑм в интернет-технологиÑÑ…. ÐарÑду Ñ Ñ€ÐµÑˆÐµÐ½Ð¸ÐµÐ¼ наших текущих задач, ÑпециалиÑты «ArtWeb» поÑтоÑнно предлагают немного больше, чем то, Ñ Ñ‡ÐµÐ¼ мы обратилиÑÑŒ, то еÑть решение задач более выÑокого уровнÑ. Внедрение, казалоÑÑŒ бы, фантаÑтичеÑких замыÑлов в развитие Ñайта, иногда опережает даже Ñамое Ñмелое планирование.
+
+ Важным аÑпектом нашего ÑотрудничеÑтва Ñ Â«ArtWeb» ÑвлÑетÑÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾Ñть целенаправленного ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÐºÐ»Ð¸ÐµÐ½Ñ‚Ñкой базой и Ð¾Ð¿Ñ‚Ð¸Ð¼Ð¸Ð·Ð°Ñ†Ð¸Ñ ÐµÐµ не только количеÑтвенных, но и качеÑтвенных показателей, что непоÑредÑтвенно влиÑет на роÑÑ‚ прибыли нашей компании. ОтветÑтвенноÑть, гибкоÑть, умение работать на результат, креативноÑть мышлениÑ, оперативное реагирование на вÑе наши запроÑÑ‹, Ð¿Ð¾Ð»Ð½Ð°Ñ Ð¾ÑведомленноÑть обо вÑем проиÑходÑщем на рынке новейших интернет-технологий и отчаÑти их авторÑÐºÐ°Ñ Ñ€Ð°Ð·Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ° – отличительные характериÑтики нашего надежного партнера – компании «ArtWeb».
+
+ Ðа протÑжении вÑего периода ÑотрудничеÑтва у Ð½Ð°Ñ Ð½Ðµ было повода уÑомнитьÑÑ Ð² том, что в «ArtWeb» работают лучшие web-ÑпециалиÑты. СотрудничеÑтво Ñ Â«ArtWeb» ÑвлÑетÑÑ Ð²Ð°Ð¶Ð½Ð¾Ð¹ ÑоÑтавлÑющей лидерÑтва в Ñегменте нашей деÑтельноÑти.
+
+
+
+
+
+
+
+
Сергей Левицкий ПреÑÑ-Ñекретарьukravtodor.gov.ua
+
+
+
+ Укравтодор Ñотрудничает Ñ ÐºÐ¾Ð¼Ð¿Ð°Ð½Ð¸ÐµÐ¹ «ArtWeb» уже около года, в течение которого было реализовано неÑколько Ñложнейших веб-проектов - в кратчайший Ñрок Ñоздана Ð½Ð¾Ð²Ð°Ñ Ð²ÐµÑ€ÑÐ¸Ñ Ð¾Ñ„Ð¸Ñ†Ð¸Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ веб-Ñайта ГоÑагентÑва автомобильных дорог Украины, а также Ñ€Ñд интерактивных веб-приложений, информирующих о ÑоÑтоÑнии проезда и качеÑтве дорожного покрытиÑ.
+
+ С Ñамого начала ÑовмеÑтной работы ÑпециалиÑты компании продемонÑтрировали Ñвой выÑокий профеÑÑионализм, гибкоÑть, и оперативноÑть в решении вÑех возникающих вопроÑов, что позволило модернизировать официальное интернет-предÑтавительÑтво Укравтодора за рекордно короткий Ñрок - 3 меÑÑца. Ð’ то Ð²Ñ€ÐµÐ¼Ñ ÐºÐ°Ðº предыдущую верÑию веб-Ñайта, уÑтаревшую и не функциональную, Ñ€Ñд других компаний-разработчиков пыталиÑÑŒ уÑовершенÑтвовать на протÑжении 9 лет.
+
+ Ðтот уÑпешный опыт продемонÑтрировал ÑффективноÑть ÑотрудничеÑтва Ñ ÐºÐ¾Ð¼Ð¿Ð°Ð½Ð¸ÐµÐ¹ «ArtWeb» и потому вÑе поÑледующие интернет- проекты Укравтодора были переданы в разработку именно ей.
+
+ СпаÑибо руководÑтву и коллективу компании за понимание и поддержку в решении Ñложных и, как правило, чрезвычайно оперативных задач.
+
+ ПреÑÑ-Ñлужба Укравтодора
+
+
+
+
+
+
+
+
+
Ðндрей Богатырь ИÑполнительный менеджер проектаcensor.net.ua
+
+
+
+ Мы обратилиÑÑŒ к ArtWeb Ñ Ñ†ÐµÐ»ÑŒÑŽ улучшить качеÑтво индекÑации Ñайта поиÑковыми ÑиÑтемами и увеличить трафик от ключевых поиÑковых операторов. Ð”Ð»Ñ Ñтого «ArtWeb» нужно было провеÑти анализ наших недоработок по оптимизации и предоÑтавить план уÑовершенÑÑ‚Ð²Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸ Ð¿Ñ€Ð¾Ð´Ð²Ð¸Ð¶ÐµÐ½Ð¸Ñ Ñайта. Главной целью было добитьÑÑ ÑƒÐ²ÐµÐ»Ð¸Ñ‡ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¸Ñ‚Ð¾ÐºÐ° трафика из поиÑковых ÑиÑтем до ÑƒÑ€Ð¾Ð²Ð½Ñ Ð±Ð¾Ð»ÐµÐµ 50 тыÑ. переходов в Ñутки, в итоге через год поÑле Ð¿Ñ€Ð¾Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ñ€Ð°Ð±Ð¾Ñ‚ кумулÑтивный Ñффект дал приток трафика более 200 тыÑÑч переходов в Ñутки.
+
+ Благодарим «ArtWeb» за Ñлаженную и прозрачную ÑиÑтему по взаимодейÑтвию в процеÑÑе работы. Результат ÑотрудничеÑтва Ñ Â«ArtWeb» полноÑтью оправдал ожиданиÑ. Рекомендую вÑем Ñту компанию как профеÑÑионалов в облаÑти Ð¿Ñ€Ð¾Ð´Ð²Ð¸Ð¶ÐµÐ½Ð¸Ñ Ñайта.
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/frontend/views/site/services/webcreat.php b/frontend/views/site/services/webcreat.php
new file mode 100644
index 0000000..fbe091c
--- /dev/null
+++ b/frontend/views/site/services/webcreat.php
@@ -0,0 +1,414 @@
+title = 'РаÑкрутка Ñайта Киев | SEO продвижение интернет-магазина в поиÑковых ÑиÑтемах (Google, ЯндекÑ) Ñео Ð¾Ð¿Ñ‚Ð¸Ð¼Ð¸Ð·Ð°Ñ†Ð¸Ñ ÐšÐ¸ÐµÐ², Харьков, ДнепропетровÑк, Украина';
+$this->params['breadcrumbs'][] = 'Создание Ñайтов';
+
+$this->registerCssFile('/css/service_webcreat.css');
+
+$this->registerJsFile('/js/services/webcreat.js');
+?>
+
+
+ beginContent('@app/views/blocks/services.php', ['tab' => 3]); ?>
+ endContent(); ?>
+
+
+
+
+
+
+
+
+
+
+
Созданных
+ проектов
+
+
+
+
+
+
индивидуальныйподход
+
+
+
+
+
От визитки допортала
+
+
+
+
+
ОпытнаÑкоманда
+
+
+
+
+
+
+
+
+
+
Зачем вам наÑтройка аналитики на Ñайте?
+
+
+
+
Ðовый иÑточникприбыли
+
+
+
+
БыÑÑ‚Ñ€Ð°Ñ Ð¾ÐºÑƒÐ¿Ð°ÐµÐ¼Ð¾Ñтьзатрат
+
+
+
+
Дешевый Ñтартнового бизнеÑа
+
+
+
+
Современный дизайн
+
+
+
+
ОриентированноÑтьна конверÑии
+
+
+
+
User-friendly интерфейÑ
+
+
+
+
+
+
+
+
+
Ð’Ñ‹ планируете выÑоконагруженный проект
+
+
+
+
Команда на проект
+
+
+
+
Поддержка поÑлезапуÑка
+
+
+
+
БыÑтрое реагирование
+
+
+
+
+
+
+
+
БыÑтрый запуÑк
+
+
+
+
ОриентированноÑтьна конверÑии
+
+
+
+
+
Дешевый Ñтартнового бизнеÑа
+
+
+
+
+
ЮзабилититеÑÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹
+
+
+
+
+
+
Тренд на рынке
+
+
+
+
+
+
+
+
КейÑ
+
+
+
+
+
+
100% интеграциÑ
+ Ñ Ð¿Ñ€Ð¾Ð´Ð°Ð¶Ð°Ð¼Ð¸
+
+
+
+
СобÑтвеннаÑ
+ CMS online
+ marcketing friendly
+
+
+
+
Глубина проÑмотра
+ Ñайта
+
+
+
+
+
+
Команда на проект
+
+
+
+ Проджект-менеджер
+
+
+ Интернет-маркетолог
+
+
+ ЮзабилиÑÑ‚
+
+
+
+
+ Дизайнер
+
+
+ ПрограммиÑÑ‚
+
+
+
+
+
+
+
5 причин заказать у Ð½Ð°Ñ Ñоздание Ñайта
+
+
+
+
1
+
Делаем уÑпешные проекты,
+ которые ÑтановÑÑ‚ÑÑ Ð»Ð¸Ð´ÐµÑ€Ð°Ð¼Ð¸
+ в Ñвоих направлениÑÑ….
+
+
+
+
2
+
Ð’Ñ‹ получаете полный ÐºÐ¾Ð¼Ð¿Ð»ÐµÐºÑ Ñ€Ð°Ð±Ð¾Ñ‚
+ по развитию бизнеÑа в одном меÑте -
+ Ñоздание и продвижение Ñайта
+ от одного иÑполнителÑ.
+
+
+
+
+
+
3
+
С проектом работают
+ профеÑÑиональные иÑполнители,
+ которые знают что такое Ñроки.
+
+
+
+
4
+
СтоимоÑть ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ñайта в нашей Ñтудии
+ очень лоÑльна Ð´Ð»Ñ Ñ‚ÐµÑ…, кто хочет заказать
+ дальнейшее продвижение Ñайта.
+
+
+
+
+
5
+
Мы поможем ÑоÑтавить правильное ТЗ,
+ и поÑтавить задачи, которые дейÑтвительно
+ важны бизнеÑу.
+
+
+
+
+
+
Реще мы поÑещаем Ñеминары, конференции, общаемÑÑ, Ñ ÐºÐ¾Ð»Ð»ÐµÐ³Ð°Ð¼Ð¸, обмениваемÑÑ Ð·Ð½Ð°Ð½Ð¸Ñми, читаем профеÑÑиональную литературу.,ПоÑтому и информированы лучше, чем оÑтальные.
+
+
+
+
+
+
+
+
Создание Ñайтов - задача Ð´Ð»Ñ Ð¿Ñ€Ð¾Ñ„ÐµÑÑионалов
+
+
+
+
+ Вам нужен быÑтрый функциональный Ñайт Ñ Ñовременным
+ дизайном и грамотной Ñтруктурой на PHP?
+ Ð’Ñ‹ хотите выÑоких конверÑий?
+ Вам нужна ÑƒÐ´Ð¾Ð±Ð½Ð°Ñ Ð°Ð´Ð¼Ð¸Ð½ÐºÐ°, в которой будет функционал
+ от анализа продаж до Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð´Ð°Ð½Ð½Ñ‹Ñ… на Ñайте?
+
+
И вÑе Ñто нужно в Ñтрогие Ñроки?
+
+
+
+
+ Тогда вы пришли по адреÑу.
+
+ 1. ÐžÐ¿Ñ‹Ñ‚Ð½Ð°Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° - над Ñайтом работают юзабилиÑÑ‚, дизайнер, программиÑÑ‚ под контролем маркетолога и проджект-менеджера.
+ 2. Контроль Ñтапов иÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ - во Ð²Ñ€ÐµÐ¼Ñ Ð¿Ð»Ð°Ð½Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñ€Ð°Ð±Ð¾Ñ‚ - точные Ñроки по каждому Ñтапу.
+ 3. Онлайн-маркетинг friendly CMS - разработка нашей Ñтудии, отвечает Ñовременным тенденциÑм, ÑƒÐ´Ð¾Ð±Ð½Ð°Ñ Ð´Ð»Ñ Ð´Ð°Ð»ÑŒÐ½ÐµÐ¹ÑˆÐµÐ³Ð¾ продвижениÑ.
+ 4. Ð’Ñ‹Ñокий коÑффициент конверÑий - Ñайт Ñ Ð½Ð°Ñ‡Ð°Ð»Ð° работ делаетÑÑ Ð¿Ð¾Ð´ оÑновные KPI вашего Ñайта (продажи, глубину, CTR-рекламы и др.).
+ 5. Выдерживает выÑокие нагрузки - еÑть опыт работы Ñ ÐºÑ€ÑƒÐ¿Ð½Ñ‹Ð¼Ð¸ порталами.
+ 6. Ð”ÐµÑˆÐµÐ²Ð°Ñ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶ÐºÐ° проекта - низкие цены на дальнейшую поддержку проекта при заказе продвижениÑ.
+ 7. Индивидуальный подход - у Ð½Ð°Ñ Ð½ÐµÑ‚ конвейерных решений.
+ 8. Ð˜Ð½Ñ‚ÐµÐ³Ñ€Ð°Ñ†Ð¸Ñ Ñ Ñайтом - внедрÑем на Ñайте любые задачи: от Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ 1С до Ð½Ð°Ð»Ð°Ð¶Ð¸Ð²Ð°Ð½Ð¸Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹ CRM, Ñоциальных кнопок или онлайн-оплат и Ñ‚.д.
+
+
+
+
Ñоздание Ñайтов и интернет-магазинов в чаÑтноÑти. ОбратившиÑÑŒ к нам, можете быть уверены Ñ Ð¿ÐµÑ€Ð²Ð¾Ð³Ð¾ днÑ, что продукт, который вы получите, ÑоответÑтвует Ñовременным тенденциÑм и решает поÑтавленные задачи, будь то продажи, получение новых контактов или Ñнижение нагрузки Ñall-центра.
+
+
+
+
+
Ðндрей Белый руководитель отдела разработки
+
+
+
+
+
+
+
ÐÐ°Ñ Ñ€ÐµÐºÐ¾Ð¼ÐµÐ½Ð´ÑƒÑŽÑ‚Ð·Ð° результаты, а не краÑивые отчеты
+
+
+
+
+
+
+
Ð¡Ð¾Ð»Ð¾Ð¼Ñ–Ñ Ð¡Ð¸Ð²Ð¸Ðº Маркетинг-менеджерextremstyle.ua
+
+
+
+ ÐšÐ¾Ð¼Ð¿Ð°Ð½Ð¸Ñ Â«ArtWeb» Ñопровождает Ð½Ð°Ñ Ñ Ñамого начала деÑтельноÑти в Ñети интернет. Ð Ñто уже более деÑÑти лет. ДолгоÑрочноÑть ÑотрудничеÑтва ÑвлÑетÑÑ Ð»ÑƒÑ‡ÑˆÐ¸Ð¼ показателем его уÑпешноÑти и Ð²Ð·Ð°Ð¸Ð¼Ð¾Ð¿Ð¾Ð½Ð¸Ð¼Ð°Ð½Ð¸Ñ Ð½Ð° пути Ñ€ÐµÑˆÐµÐ½Ð¸Ñ Ð²Ð¾Ð·Ð½Ð¸ÐºÐ°ÑŽÑ‰Ð¸Ñ… задач и целей. ЯвлÑÑÑÑŒ Ñоздателем наших Ñайтов, ÐºÐ¾Ð¼Ð¿Ð°Ð½Ð¸Ñ Â«ArtWeb» обеÑпечивает не только их беÑперебойное техничеÑкое обÑлуживание и лидирующие позиции, но и полное ÑоответÑтвие новейшим тенденциÑм в интернет-технологиÑÑ…. ÐарÑду Ñ Ñ€ÐµÑˆÐµÐ½Ð¸ÐµÐ¼ наших текущих задач, ÑпециалиÑты «ArtWeb» поÑтоÑнно предлагают немного больше, чем то, Ñ Ñ‡ÐµÐ¼ мы обратилиÑÑŒ, то еÑть решение задач более выÑокого уровнÑ. Внедрение, казалоÑÑŒ бы, фантаÑтичеÑких замыÑлов в развитие Ñайта, иногда опережает даже Ñамое Ñмелое планирование.
+
+ Важным аÑпектом нашего ÑотрудничеÑтва Ñ Â«ArtWeb» ÑвлÑетÑÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾Ñть целенаправленного ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÐºÐ»Ð¸ÐµÐ½Ñ‚Ñкой базой и Ð¾Ð¿Ñ‚Ð¸Ð¼Ð¸Ð·Ð°Ñ†Ð¸Ñ ÐµÐµ не только количеÑтвенных, но и качеÑтвенных показателей, что непоÑредÑтвенно влиÑет на роÑÑ‚ прибыли нашей компании. ОтветÑтвенноÑть, гибкоÑть, умение работать на результат, креативноÑть мышлениÑ, оперативное реагирование на вÑе наши запроÑÑ‹, Ð¿Ð¾Ð»Ð½Ð°Ñ Ð¾ÑведомленноÑть обо вÑем проиÑходÑщем на рынке новейших интернет-технологий и отчаÑти их авторÑÐºÐ°Ñ Ñ€Ð°Ð·Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ° – отличительные характериÑтики нашего надежного партнера – компании «ArtWeb».
+
+ Ðа протÑжении вÑего периода ÑотрудничеÑтва у Ð½Ð°Ñ Ð½Ðµ было повода уÑомнитьÑÑ Ð² том, что в «ArtWeb» работают лучшие web-ÑпециалиÑты. СотрудничеÑтво Ñ Â«ArtWeb» ÑвлÑетÑÑ Ð²Ð°Ð¶Ð½Ð¾Ð¹ ÑоÑтавлÑющей лидерÑтва в Ñегменте нашей деÑтельноÑти.
+
+
+
+
+
+
+
+
Сергей Левицкий ПреÑÑ-Ñекретарьukravtodor.gov.ua
+
+
+
+ Укравтодор Ñотрудничает Ñ ÐºÐ¾Ð¼Ð¿Ð°Ð½Ð¸ÐµÐ¹ «ArtWeb» уже около года, в течение которого было реализовано неÑколько Ñложнейших веб-проектов - в кратчайший Ñрок Ñоздана Ð½Ð¾Ð²Ð°Ñ Ð²ÐµÑ€ÑÐ¸Ñ Ð¾Ñ„Ð¸Ñ†Ð¸Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ веб-Ñайта ГоÑагентÑва автомобильных дорог Украины, а также Ñ€Ñд интерактивных веб-приложений, информирующих о ÑоÑтоÑнии проезда и качеÑтве дорожного покрытиÑ.
+
+ С Ñамого начала ÑовмеÑтной работы ÑпециалиÑты компании продемонÑтрировали Ñвой выÑокий профеÑÑионализм, гибкоÑть, и оперативноÑть в решении вÑех возникающих вопроÑов, что позволило модернизировать официальное интернет-предÑтавительÑтво Укравтодора за рекордно короткий Ñрок - 3 меÑÑца. Ð’ то Ð²Ñ€ÐµÐ¼Ñ ÐºÐ°Ðº предыдущую верÑию веб-Ñайта, уÑтаревшую и не функциональную, Ñ€Ñд других компаний-разработчиков пыталиÑÑŒ уÑовершенÑтвовать на протÑжении 9 лет.
+
+ Ðтот уÑпешный опыт продемонÑтрировал ÑффективноÑть ÑотрудничеÑтва Ñ ÐºÐ¾Ð¼Ð¿Ð°Ð½Ð¸ÐµÐ¹ «ArtWeb» и потому вÑе поÑледующие интернет- проекты Укравтодора были переданы в разработку именно ей.
+
+ СпаÑибо руководÑтву и коллективу компании за понимание и поддержку в решении Ñложных и, как правило, чрезвычайно оперативных задач.
+
+ ПреÑÑ-Ñлужба Укравтодора
+
+
+
+
+
+
+
+
+
Ðндрей Богатырь ИÑполнительный менеджер проектаcensor.net.ua
+
+
+
+ Мы обратилиÑÑŒ к ArtWeb Ñ Ñ†ÐµÐ»ÑŒÑŽ улучшить качеÑтво индекÑации Ñайта поиÑковыми ÑиÑтемами и увеличить трафик от ключевых поиÑковых операторов. Ð”Ð»Ñ Ñтого «ArtWeb» нужно было провеÑти анализ наших недоработок по оптимизации и предоÑтавить план уÑовершенÑÑ‚Ð²Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸ Ð¿Ñ€Ð¾Ð´Ð²Ð¸Ð¶ÐµÐ½Ð¸Ñ Ñайта. Главной целью было добитьÑÑ ÑƒÐ²ÐµÐ»Ð¸Ñ‡ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¸Ñ‚Ð¾ÐºÐ° трафика из поиÑковых ÑиÑтем до ÑƒÑ€Ð¾Ð²Ð½Ñ Ð±Ð¾Ð»ÐµÐµ 50 тыÑ. переходов в Ñутки, в итоге через год поÑле Ð¿Ñ€Ð¾Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ñ€Ð°Ð±Ð¾Ñ‚ кумулÑтивный Ñффект дал приток трафика более 200 тыÑÑч переходов в Ñутки.
+
+ Благодарим «ArtWeb» за Ñлаженную и прозрачную ÑиÑтему по взаимодейÑтвию в процеÑÑе работы. Результат ÑотрудничеÑтва Ñ Â«ArtWeb» полноÑтью оправдал ожиданиÑ. Рекомендую вÑем Ñту компанию как профеÑÑионалов в облаÑти Ð¿Ñ€Ð¾Ð´Ð²Ð¸Ð¶ÐµÐ½Ð¸Ñ Ñайта.
+
+
+
+
+
+
+
+
+
+
+
+
Как мы работаем
+
+
+
+
+
+
Ðнализ
+ тематики
+ у конкурентов
+
+
+
+
+
+
ÐапиÑание
+ ÑовмеÑтногоТЗ
+
+
+
+
+
+
+
СоÑтавлениеÑтруктурыÑайта
+
+
+
+
+
+
+
Созданиемакетов
+ виджетов
+
+
+
+
+
+
+
ВерÑтка проекта
+
+
+
+
+
+
ÐžÐ±ÑƒÑ‡ÐµÐ½Ð¸ÐµÑ€Ð°Ð±Ð¾Ñ‚ÐµÑ Ñайтом
+
+
+
+
+
+
ПривÑзкаÑайта к CMS
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/frontend/views/site/signup.php b/frontend/views/site/signup.php
new file mode 100644
index 0000000..58ccd8e
--- /dev/null
+++ b/frontend/views/site/signup.php
@@ -0,0 +1,35 @@
+title = 'Signup';
+$this->params['breadcrumbs'][] = $this->title;
+?>
+
+
= Html::encode($this->title) ?>
+
+
Please fill out the following fields to signup:
+
+
+
+ 'form-signup']); ?>
+
+ = $form->field($model, 'username') ?>
+
+ = $form->field($model, 'email') ?>
+
+ = $form->field($model, 'password')->passwordInput() ?>
+
+
+ = Html::submitButton('Signup', ['class' => 'btn btn-primary', 'name' => 'signup-button']) ?>
+
+
+
+
+
+
diff --git a/frontend/views/site/team.php b/frontend/views/site/team.php
new file mode 100644
index 0000000..44523d0
--- /dev/null
+++ b/frontend/views/site/team.php
@@ -0,0 +1,255 @@
+title = 'Команда';
+$this->params['breadcrumbs'][] = $this->title;
+
+$this->registerCssFile('css/team.css');
+$this->registerJsFile('js/team.js');
+$this->registerJsFile('js/highcharts.js');
+$this->registerJsFile('js/graph.js');
+?>
+
+
+
+
+
+
+
+
СреднÑÑ Ð¾ÐºÑƒÐ¿Ð°ÐµÐ¼Ð¾Ñть инвеÑтиций в онлайн меньше года
+
Ð¡ÐµÐ¹Ñ‡Ð°Ñ Ð²Ñ‹ думаете, что Ñто Ñмелое утверждение? Ðо Ñто только пока вы не начали Ñотрудничать Ñ ÐртВеб. Ðффективные Ñ€ÐµÑˆÐµÐ½Ð¸Ñ Ñложных проблем и роÑÑ‚ бизнеÑа клиента – главные ценноÑти компании. И вот лишь некоторые из наших преимущеÑтв
+
+
+
+
+
+
+
+
+
+
+
Ðнализ и иÑÑледованиÑ
+
+
+ Мы вÑегда «в тренде» и знаем ваших конкурентов лучше, чем вы, поÑтому Ñ Ð½Ð°Ð¼Ð¸ вы будете на шаг впереди.
+
+
+
+
+
+
Обучение и развитие
+
+
+ За более чем 11-летний опыт работы в маркетинге, мы нашли где зарыта не только Ñобака, но и ключ к уÑпеху клиентов.
+
+
+
+
+
+
Огромный опыт работы
+
+
+ За более чем 11-летний опыт работы в маркетинге, мы нашли где зарыта не только Ñобака, но и ключ к уÑпеху клиентов.
+
+
+
+
+
+
Команда профеÑÑионалов
+
+
+ Мы берем в Ñвой дружный
+ коллектив только Ñамых лучших.
+
+
+
+
+
+
+
+
+
+
+
Давайте знакомитьÑÑ
+
Мы поможем вам Ñтать уÑпешнее
+
+
+
+
+ Команда, ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ð·Ð½Ð°ÐµÑ‚, как делать не только на «Ок», но и «ПревоÑходно».
+ ПрактичеÑки каждый Ñотрудник может похваÑтатьÑÑ Ñертификатами и уÑпешными кейÑами.
+ Реще поÑоветовать интереÑные фильмы, книги и раÑÑказать о Ñвоем хобби.
+ Итак, знакомьтеÑÑŒ: коллектив ÐртВеб!
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ = Html::img('/files/'. $member->photo)?>
+
+
+
+
+
= $member->name?>
+
= $member->job?>
+
= Html::a('Ñмотреть профиль', ['team/'. $member->id])?>
+
+
+
+
+
+
+
+
+
+
+
+
+
Мы ищем таланты
+
+
+
+
+
+ Ð’Ñ‹ чувÑтвуете, что PHP-программирование, онлайн-маркетинг, продажи то, чему вы хотите поÑвÑтить Ñвою жизнь?
+ ОтправлÑйте резюме.
+
+
+
+
+
+
+
+
+
+
+
Главные ценноÑти компании
+
+
+
+
+
+
+
+
Клиенты
+
+ Мы работаем Ð´Ð»Ñ Ñ‚Ð¾Ð³Ð¾, чтобы Ð±Ð¸Ð·Ð½ÐµÑ Ð½Ð°ÑˆÐ¸Ñ… клиентов Ñ€Ð¾Ñ Ð¸ развивалÑÑ, только поÑтоÑнные Ñимбиоз обеÑпечивает роÑÑ‚ и нашей компании.
+
+
+
+
+
+
+
Доходы
+
+ Прибыль компании – Ð²Ñ‚Ð¾Ñ€Ð°Ñ Ñ†ÐµÐ½Ð½Ð¾Ñть, ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ð·Ð°Ð²Ð¸Ñит от наших Ñотрудников. И те, кто в большей Ñтепени влиÑет на роÑÑ‚ прибыли, получает быÑтрое продвижение по карьерной леÑтнице.
+
+
+
+
+
+
+
Команда
+
+ Ðаши Ñотрудники Ð³Ð»Ð°Ð²Ð½Ð°Ñ Ñ†ÐµÐ½Ð½Ð¾Ñть.У каждого работника еÑть личный план развитиÑ, вÑе работники читают книги, поÑещают Ñеминары, учаÑтвуют в вебинарах и вÑеÑторонне развиваютÑÑ.
+
+
+
+
+
+
+
+
+
+
+
+
+
Кто наши клиенты
+
+
+
+
+
+
+
+
+
+
Интернет-магазины
+
+
+
+
Контентные проекты
+
+
+
+
+
ÐекоммерчеÑкие проекты
+
+
+
+
+
+
+
+
+
+
+
Давайте знакомитьÑÑ
+
Мы поможем вам Ñтать уÑпешнее
+
+
+
+
Заходите в наш блог
+
+
+
+
+
diff --git a/frontend/views/site/teamitem.php b/frontend/views/site/teamitem.php
new file mode 100644
index 0000000..e175d3b
--- /dev/null
+++ b/frontend/views/site/teamitem.php
@@ -0,0 +1,261 @@
+title = 'Команда';
+$this->params['breadcrumbs'][] = $this->title;
+
+$this->registerCssFile('/css/teamitem.css');
+
+if ($member->teamInterests) {
+ $graph_js = "
+jQuery(function($) {
+ $('#container').highcharts({
+ chart: {
+ plotBackgroundColor: null,
+ plotBorderWidth: null,
+ height:280,
+ width:432
+ },
+
+ tooltip: {
+ //pointFormat: '{point.percentage:.1f}% ',
+ enabled: false
+ },
+ plotOptions: {
+ pie: {
+ allowPointSelect: true,
+ size:160,
+ borderWidth: 0,
+ cursor: 'pointer',
+ dataLabels: {
+ //distance: 30,
+ //softConnector: false, // by default
+ connectorColor: 'black',
+ connectorPadding: 10,
+ color: '#464646',
+ enabled: true,
+ format: '{point.name} : {point.percentage:.1f} %',
+ style: {
+ width:85
+ }
+ }
+ }
+ },
+ series: [{
+ type: 'pie',
+ name: '" . Yii::t( 'app', 'Interests' ) . "',
+ data: [";
+
+ foreach ( $member->teamInterests as $interest ) {
+ $graph_js .= "
+ ['" . $interest->title . "', " . $interest->value . "],";
+ }
+
+ $graph_js .= "
+ ]
+ }]
+});
+});";
+
+ $this->registerJs( $graph_js, 3 );
+}
+$this->registerJsFile('/js/teamitem/jquery.rating-2.0.min.js');
+$this->registerJsFile('/js/teamitem/rating.js');
+$this->registerJsFile('/js/teamitem/highcharts.js');
+?>
+
+
+
+
+
+
+
+
+
+
= $member->name?>
+
= $member->job?>
+
+
+
+
= Yii::t('app', ucfirst($member->zodiac))?>
+
+
+
+
+ email)) :?>
+
+
+
+ soc_vk) || !empty($member->soc_fb) || !empty($member->soc_tw)) :?>
+
+
+
+ soc_vk)) :?>
+
+
+ soc_fb)) :?>
+
+
+ soc_tw)) :?>
+
+
+
+
+
+
+
+
+
+ teamInterests) :?>
+
+
+
+
+
+
ИнтереÑÑ‹
+
+
+
+
+
+
+ interests_caption)) :?>
+
+
+ = $member->interests_caption?>
+
+
+
+
+
+ teamSkils) || !empty($member->skils_caption)) :?>
+
+
+
+
+
+
+
+
Скилы
+
+
+
+ teamSkils as $skill) :?>
+
+
+
+
+
+
+ skils_caption)) :?>
+
+
+
+ = $member->skils_caption?>
+
+
+
+
+
+ teamBooks) || !empty($member->books_caption)) :?>
+
+
+
+ = $member->books_caption?>
+ teamBooks)) :?>
+
+ = explode(' ', $member->name)[0]?> рекомендует прочитать:
+
+
+ teamBooks as $book) :?>
+
+
+
+
+
+
+
+
+
+ teamFilms) || !empty($member->films_caption)) :?>
+
+
+
+ = $member->films_caption?>
+ teamFilms)) :?>
+
+ = explode(' ', $member->name)[0]?> рекомендует поÑмотреть:
+
+
+ teamFilms as $film) :?>
+
+
+
+
+
+
+
+
+
+ humors) || !empty($member->humors_caption)) :?>
+
+
+
+ teamHumors as $humor) :?>
+
= $humor?>
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/frontend/views/site/vacancies.php b/frontend/views/site/vacancies.php
new file mode 100644
index 0000000..d25438f
--- /dev/null
+++ b/frontend/views/site/vacancies.php
@@ -0,0 +1,436 @@
+title = 'ВаканÑии';
+$this->params['breadcrumbs'][] = $this->title;
+
+$this->registerCssFile('/css/vacancies.css');
+
+$this->registerJsFile('/js/jquery.scrollbox.min.js');
+$this->registerJsFile('/js/vacancies.js');
+//$this->registerJsFile('/js/vacancies2.js');
+$this->registerJs("
+$(function () {
+ $('#demo5').scrollbox({
+ direction: 'h',
+ distance: 150,
+ autoPlay: false
+ });
+ $('#prew').click(function () {
+ $('#demo5').trigger('backward');
+ });
+ $('#next').click(function () {
+ $('#demo5').trigger('forward');
+ });
+ });", 3);
+?>
+
+
+
+
+
+
+
+
+
+ Умные люди Ð´Ð»Ñ ÑƒÑпешных проектов
+
+ Мы ищем крутых ÑпециалиÑтов в Ñфере онлайн-маркетинга, будущих гуру PHP-кодинга и Ñейлзов, которые могут продать пеÑок африканцам. Выберите Ñвое направление и Ñтройте карьеру Ñ Ð½Ð°Ð¼Ð¸.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
У Ð²Ð°Ñ Ð¾Ñобенные таланты?
+
+
+
+
+
+
+
+
Мы ценим креативноÑть и не шаблонное мышление.
+ ЕÑли ваши таланты выходÑÑ‚ за рамки Ñтандартного предложениÑ, то раÑÑкажите о Ñебе.
+
+ РаÑÑказать о Ñебе
+
+
+
+
+
+
+
+
+
+
+
+
+
+ artweb Ñто не только профеÑÑионалы онлайн-маркетинга, но и Ð¾Ñ‚Ð»Ð¸Ñ‡Ð½Ð°Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° креативных ребÑÑ‚, которые желают развиватьÑÑ Ð¸ умеют веÑело проводить времÑ. ЕÑли утром хочетÑÑ Ð¸Ð´Ñ‚Ð¸ на работу, значит, ты на Ñвоем меÑте!
+
+
+
+
+
+
+
+ Светлана БориÑюк
+ менеджер по контекÑтной рекламе
+
+
+
+
+
+
+
+
+
+ 2artweb Ñто не только профеÑÑионалы онлайн-маркетинга, но и Ð¾Ñ‚Ð»Ð¸Ñ‡Ð½Ð°Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° креативных ребÑÑ‚, которые желают развиватьÑÑ Ð¸ умеют веÑело проводить времÑ. ЕÑли утром хочетÑÑ Ð¸Ð´Ñ‚Ð¸ на работу, значит, ты на Ñвоем меÑте!
+
+
+
+
+
+
+
+ Светлана БориÑюк
+ менеджер по контекÑтной рекламе
+
+
+
+
+
+
+
+
+
+ 3artweb Ñто не только профеÑÑионалы онлайн-маркетинга, но и Ð¾Ñ‚Ð»Ð¸Ñ‡Ð½Ð°Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° креативных ребÑÑ‚, которые желают развиватьÑÑ Ð¸ умеют веÑело проводить времÑ. ЕÑли утром хочетÑÑ Ð¸Ð´Ñ‚Ð¸ на работу, значит, ты на Ñвоем меÑте!
+
+
+
+
+
+
+
+ Светлана БориÑюк
+ менеджер по контекÑтной рекламе
+
+
+
+
+
+
+
+
+
+ 4artweb Ñто не только профеÑÑионалы онлайн-маркетинга, но и Ð¾Ñ‚Ð»Ð¸Ñ‡Ð½Ð°Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° креативных ребÑÑ‚, которые желают развиватьÑÑ Ð¸ умеют веÑело проводить времÑ. ЕÑли утром хочетÑÑ Ð¸Ð´Ñ‚Ð¸ на работу, значит, ты на Ñвоем меÑте!
+
+
+
+
+
+
+
+ Светлана БориÑюк
+ менеджер по контекÑтной рекламе
+
+
+
+
+
+
+
+
+
+
+
+
Что мы можем предложить
+
+
+
+
+
+
+
+
+
+
+
+
Рабочий день Ñ 10 до 18
+
+
+
+
+
+
+
+
Ðдекватное руководÑтво
+
+
+
+
+
+
+
+
Клевый коллектив
+
+
+
+
+
+
+
+
ИнтереÑные проекты
+
+
+
+
+
+
+
+
+
ÐаÑтольный тенниÑ
+
+
+
+
+
+
+
+
Чай, кофе, печеньки
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Пиво по пÑтницам
+
+
+
+
+
+
+
+
+
+
Открытые ваканÑии
+
+
+
+
+
+
+
+
+
+
+
Ð ÐÐ -разработчик
+
+
+
+ Ð£Â Ð²Ð°Ñ Ð½ÐµÂ Ð²Ð¾Ð·Ð½Ð¸ÐºÐ½ÐµÑ‚ проблем Ñ техничеÑкими заданиÑми — заказчик знает, что ему нужно и учитывает вÑе тонкоÑти в ТЗ.
+ Ðаши клиенты пользуютÑÑ, практичеÑки вÑеми коммерчеÑкими CMS. Знание и опыт работы Ñ определенными из них приветÑтвуютÑÑ.
+ Задачи комплекÑные, много каÑтомизации и онлайн-маркетинг наÑтроек Ð´Ð»Ñ ÐºÐ»Ð¸ÐµÐ½Ñ‚Ð¾Ð². Ð”Ð»Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹ вам придетÑÑ Ñтать профеÑÑионалом Ñвоей CMS, а мы поможем вам Ñто доÑтичь.
+
+ Ð£Â Ð²Ð°Ñ Ð½ÐµÂ Ð²Ð¾Ð·Ð½Ð¸ÐºÐ½ÐµÑ‚ проблем Ñ техничеÑкими заданиÑми — заказчик знает, что ему нужно и учитывает вÑе тонкоÑти в ТЗ.
+ Ðаши клиенты пользуютÑÑ, практичеÑки вÑеми коммерчеÑкими CMS. Знание и опыт работы Ñ определенными из них приветÑтвуютÑÑ.
+ Задачи комплекÑные, много каÑтомизации и онлайн-маркетинг наÑтроек Ð´Ð»Ñ ÐºÐ»Ð¸ÐµÐ½Ñ‚Ð¾Ð². Ð”Ð»Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹ вам придетÑÑ Ñтать профеÑÑионалом Ñвоей CMS, а мы поможем вам Ñто доÑтичь.
+
+
+
+
+
+
+
+
+
+
+
+
+
SEO-ÑпециалиÑÑ‚
+
+
+
+ Задачи покрывают веÑÑŒ Ñпектр техничеÑкого SEO. Ðо в первую очередь Ñто будут задачи по Ñбору ÑемантичеÑкого Ñдра.
+ Мы будем рады, еÑли вы будете быÑтро обучатьÑÑ Ð¸ проÑвлÑть инициативу и Ñтанете лидером. Карьерный роÑÑ‚ завиÑит только от ваÑ, Ñо Ñвоей Ñтороны, мы будем вÑÑчеÑки ÑодейÑтвовать вашему обучению.
+
+ Задачи покрывают веÑÑŒ Ñпектр техничеÑкого SEO. Ðо в первую очередь Ñто будут задачи по Ñбору ÑемантичеÑкого Ñдра.
+ Мы будем рады, еÑли вы будете быÑтро обучатьÑÑ Ð¸ проÑвлÑть инициативу и Ñтанете лидером. Карьерный роÑÑ‚ завиÑит только от ваÑ, Ñо Ñвоей Ñтороны, мы будем вÑÑчеÑки ÑодейÑтвовать вашему обучению.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Задача организации, в оÑобенноÑти же конÑÑƒÐ»ÑŒÑ‚Ð°Ñ†Ð¸Ñ Ñ ÑˆÐ¸Ñ€Ð¾ÐºÐ¸Ð¼ активом играет важную роль в формировании ÑиÑтем маÑÑового учаÑтиÑ. Ðе Ñледует, однако забывать, что дальнейшее развитие различных форм деÑтельноÑти позволÑет выполнÑть важные Ð·Ð°Ð´Ð°Ð½Ð¸Ñ Ð¿Ð¾ разработке ÑиÑтем маÑÑового учаÑтиÑ.
+
+
+ Ð’ÑчеÑлав Мижарев, директор
+
+
+
+ skype:artwebstudio
+ e-mail:mail@artweb.ua
+
+
+
+
+
+
+
+
+
+
+ Задача организации, в оÑобенноÑти же конÑÑƒÐ»ÑŒÑ‚Ð°Ñ†Ð¸Ñ Ñ ÑˆÐ¸Ñ€Ð¾ÐºÐ¸Ð¼ активом играет важную роль в формировании ÑиÑтем маÑÑового учаÑтиÑ. Ðе Ñледует, однако забывать, что дальнейшее развитие различных форм деÑтельноÑти позволÑет выполнÑть важные Ð·Ð°Ð´Ð°Ð½Ð¸Ñ Ð¿Ð¾ разработке ÑиÑтем маÑÑового учаÑтиÑ.
+
+
+ Ðнтона ЗозулÑ, директор по маркетингу
+
+
+
+ skype:artwebstudio
+ e-mail:mail@artweb.ua
+
+
+
+
+
+
+
+
+
+
+ Задача организации, в оÑобенноÑти же конÑÑƒÐ»ÑŒÑ‚Ð°Ñ†Ð¸Ñ Ñ ÑˆÐ¸Ñ€Ð¾ÐºÐ¸Ð¼ активом играет важную роль в формировании ÑиÑтем маÑÑового учаÑтиÑ. Ðе Ñледует, однако забывать, что дальнейшее развитие различных форм деÑтельноÑти позволÑет выполнÑть важные Ð·Ð°Ð´Ð°Ð½Ð¸Ñ Ð¿Ð¾ разработке ÑиÑтем маÑÑового учаÑтиÑ.
+
+
+ Ðндрей Белый, начальник отдела разработки
+
+
+
+ skype:artwebstudio
+ e-mail:mail@artweb.ua
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Сертификаты
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Клиенты
+ У Ð½Ð°Ñ ÐºÐ°Ð¶Ð´Ñ‹Ð¹ клиент — любимый
+
+
+
+
+
+
+
+
+
diff --git a/frontend/web/.gitignore b/frontend/web/.gitignore
new file mode 100644
index 0000000..25c74e6
--- /dev/null
+++ b/frontend/web/.gitignore
@@ -0,0 +1,2 @@
+/index.php
+/index-test.php
diff --git a/frontend/web/assets/.gitignore b/frontend/web/assets/.gitignore
new file mode 100644
index 0000000..d6b7ef3
--- /dev/null
+++ b/frontend/web/assets/.gitignore
@@ -0,0 +1,2 @@
+*
+!.gitignore
diff --git a/frontend/web/count_form/app/data/admin.php b/frontend/web/count_form/app/data/admin.php
new file mode 100644
index 0000000..e81388f
--- /dev/null
+++ b/frontend/web/count_form/app/data/admin.php
@@ -0,0 +1,109 @@
+ip = $_SERVER['REMOTE_ADDR'];
+ $this->my_ip = '109.251.238.123';
+ if($this->ip != $this->my_ip){
+ header("Location:/count_form.php/");
+ }
+ }
+ function index(){
+ $model = new \count_form\app\db\Entity();
+
+ $entity = $model->getInstance('question');
+
+ $sub_question = $model->getInstance('sub_question');
+
+ $sub_data = $sub_question->getAllData();
+
+ $data = $entity->getAllData();
+
+ $result = array('data'=>$data, 'sub_data'=>$sub_data);
+
+ return $result;
+ }
+
+ function add(){
+
+ $model = new \count_form\app\db\Entity();
+ $questions = $model->getInstance('question');
+ if(isset($_POST)&&!empty($_POST)){
+ $question['text'] = $_POST['question_text'];
+ $question['input_type'] = $_POST['question_input_type'];
+ $question['status'] = empty( $_POST['question_status'] ) ? 0 : 1;
+ $question['required'] = empty( $_POST['question_required'] ) ? 0 : 1;
+ $question['weight'] = $_POST['question_weight'];
+ $question['parent_id'] = isset($_POST['question_parent_id']) && !empty($_POST['question_parent_id']) ? $_POST['question_parent_id']: '0';
+
+ $questions->addData($question);
+ header("Location:/count_form.php/?p=admin");
+ }
+
+ $data = $questions->getAllData();
+
+ $result = array('data'=>$data);
+
+ return $result;
+ }
+
+
+ function edit(){
+
+
+ $model = new \count_form\app\db\Entity();
+ $questions = $model->getInstance('question');
+ $sub = $model->getInstance('sub_question');
+ $id = $_GET['id'];
+
+ if(isset($_POST)&&!empty($_POST)){
+
+
+ $question['text'] = $_POST['question_text'];
+ $question['input_type'] = $_POST['question_input_type'];
+ $question['weight'] = $_POST['question_weight'];
+ $question['status'] = empty( $_POST['question_status'] ) ? 0 : 1;
+ $question['required'] = empty( $_POST['question_required'] ) ? 0 : 1;
+ $question['parent_id'] = isset($_POST['question_parent_id']) && !empty($_POST['question_parent_id']) ? $_POST['question_parent_id']: '0';
+ $questions->UpdateData($question, $id);
+
+
+ header("Location:/count_form.php/?p=admin");
+
+ }
+
+ $data = $questions->getAllData();
+ $quest = $questions->getOneData($id);
+ $sub_quest = $sub->getOneData($id);
+ $result = array('data'=>$data, 'question'=>$quest, 'sub_question'=>$sub_quest);
+
+ return $result;
+ }
+
+ function delete()
+ {
+ if(isset($_GET['id'])){
+
+ $id = $_GET['id'];
+
+ $model = new \count_form\app\db\Entity();
+
+ $entity = $model->getInstance('question');
+
+ $entity->deleteData($id);
+
+ header("Location:/count_form.php/?p=admin");
+ }
+
+
+ }
+
+
+}
\ No newline at end of file
diff --git a/frontend/web/count_form/app/data/form.php b/frontend/web/count_form/app/data/form.php
new file mode 100644
index 0000000..ba6cc95
--- /dev/null
+++ b/frontend/web/count_form/app/data/form.php
@@ -0,0 +1,414 @@
+getInstance('question');
+
+ $sub_question = $model->getInstance('sub_question');
+
+
+
+ $sub_data = $sub_question->getAllData();
+
+ $data = $entity->getAllActiveData();
+
+ $result = array('data'=>$data, 'sub_data'=>$sub_data);
+
+ return $result;
+ }
+
+
+ function select()
+ {
+ if(isset($_POST)&&!empty($_POST)){
+ $model = new \count_form\app\db\Entity();
+ $email = $_POST['email'];
+ if(!empty($email)){
+ $entity = $model->getInstance('question');
+ $exceptions = $this->getExceptions();
+ $sub_question = $model->getInstance('sub_question');
+
+ $data = $this->getData($_POST,$entity, $sub_question);
+
+ $text = $this->getText($data);
+
+ if(!in_array($email, $exceptions)) {
+ $this->saveData($model, $email, $text);
+ $this->sendData($email, $text);
+ }
+ session_start();
+ $_SESSION['success'] = 'callback';
+
+ print "";
+ }
+
+ }else{
+ header("Location:/count_form.php/?p=form");
+ }
+
+ }
+
+ function findSubQuestion($question, $sub_array)
+ {
+ foreach($sub_array as $row){
+ if($row['question_id'] == $question['id']){
+ return $row;
+ }
+ }
+ return false;
+ }
+
+ function getData($_POST,$entity, $sub_question)
+ {
+ $post = $_POST['role'];
+ $answers = $_POST['question'];
+ $comment = htmlspecialchars($_POST['comment']);
+ $email = htmlspecialchars($_POST['email']);
+
+
+
+ $questionId = array();
+
+ foreach($post as $row) {
+
+ foreach($row as $key => $val ){
+
+ $questionId[] = $val;
+
+ }
+ }
+
+ $sub_quest_id = array();
+ $sub_quest_data = array();
+ foreach($answers as $quest => $val){
+
+ $val = preg_replace('/\s+/', '', $val);
+
+ if(!empty($val)){
+ $sub_quest_id[] = $quest;
+ $sub_quest_data[$quest]['answer'] = $val;
+ }
+ }
+
+
+ $questionId = implode(",", $questionId);
+
+ $data = $entity->getSelectData($questionId);
+
+ if(!empty($sub_quest_id)){
+ $sub_quest = implode(",", $sub_quest_id);
+ $sub_data = $sub_question->getSelectData($sub_quest);
+
+ foreach($sub_data as $quest){
+ $sub_quest_data[$quest['question_id']]['text'] = $quest['text'];
+ }
+ }
+
+
+ $result = array('data'=>$data, 'sub_data'=>$sub_quest_data, 'comment'=>$comment);
+
+ return $result;
+
+ }
+
+ function sendData($email, $text)
+ {
+ require_once "count_form/app/lib/PHPMailer_5.2.4/class.phpmailer.php";
+ $mail = new \PHPMailer;
+
+ $mail->IsSMTP();
+
+ $mail->CharSet = 'UTF-8';
+
+ $mail->Username = "seodevartweb@gmail.com";
+ $mail->Password = "respublika2014";
+ $mail->SetFrom($email, 'ArtWeb');
+ $mail->Subject = '[AtrWeb] ЗаÑвка раÑÑчет ÑтоимоÑти Ð´Ð»Ñ '.$email;
+ $mail->MsgHTML($text);
+ $address = "seodevartweb@gmail.com";
+ $mail->AddAddress($address);
+ $mail->AddAddress('slava.up@gmail.com');
+ $mail->AddAddress('m@artweb.ua');
+ $mail->AddAddress('seo@artweb.ua');
+
+ $mail->Send();
+
+
+ }
+
+ function saveData($model, $email, $text)
+ {
+
+ $entity = $model->getInstance('request');
+
+ $entity->addData($email, $text);
+ $this->sendRequestToSEO($email, $text);
+
+
+ }
+
+ function sendRequestToSEO($email, $text){
+ $curl = curl_init();
+ curl_setopt($curl, CURLOPT_URL, 'http://backend.seo.dev.artwebua.com.ua/set_message');
+ curl_setopt($curl, CURLOPT_RETURNTRANSFER,true);
+ curl_setopt($curl, CURLOPT_POST, true);
+ curl_setopt($curl, CURLOPT_POSTFIELDS, "email=$email&text=$text&type=calculate");
+ $out = curl_exec($curl);
+ // echo $out;
+ curl_close($curl);
+ }
+
+ function getText($data){
+ $filename = "count_form/app/view/form/select.php";
+
+
+ if (is_file($filename)) {
+ ob_start();
+ include $filename;
+ $text = ob_get_contents();
+ ob_get_clean();
+ return $text;
+
+ }
+ return false;
+
+ }
+
+ function selectChosenData(){
+
+ if(isset($_POST['parent_id'])&& !empty($_POST['parent_id'])){
+ $parent_id = (int)$_POST['parent_id'];
+
+ $model = new \count_form\app\db\Entity();
+
+ $entity = $model->getInstance('question');
+
+ $sub_question = $model->getInstance('sub_question');
+
+
+
+ $sub_data = $sub_question->getAllData();
+
+ $data = $entity->getChosenData($parent_id);
+ header('Content-type: text/html; charset=utf-8');
+ foreach($data as $array){?>
+
+
+
+ data-parent = "=$array['id']?>" name="role[=$array['parent_id']?>][]" value="=$array['id']?>"> =$array['text']?>
+ findSubQuestion($array,$sub_data)){?>
+
+
= $sub_question['text']?>
+
+
= $sub_question['required']?'
поле обÑзательно Ð´Ð»Ñ Ð·Ð°Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ ':'' ?>
+
+
= $sub_question['required']?'
поле обÑзательно Ð´Ð»Ñ Ð·Ð°Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ ':'' ?>
+
+ ";
+ }
+ die();
+ }
+ }
+
+ function getExceptions(){
+ return array('boss@cialisonline-20mg.com',
+ 'reckonzr@hotmail.com',
+ 'past@genericcialis-usa.net',
+ 'hosannaas@hotmail.com',
+ 'systemaist@yandex.com',
+ 'frostydemi@hotmail.com',
+ 'saloret@mail.com',
+ 'larisadiz@mail.ru',
+ 'anthonyvahp@yandex.ru',
+ 'nekitt9@daufond.ru',
+ 'robertote@yandex.ru',
+ 'saloret@mail.com',
+ 'matthewtex@yandex.ru',
+ 'williamlype@yandex.ru',
+ 'qzfcdtnabo@roixog.com',
+ 'qzfcdtnabo@roixog.com',
+ 'scheiern175alecia@hotmail.com',
+ 'otitismit@hotmail.com',
+ 'blitheover@yahoo.com',
+ 'schmeichel499donelle@hotmail.com',
+ 'daryamof@mail.ru',
+ 'voxxo@mail.com',
+ 'anneguiguibin@aol.com',
+ 'woodhull240leona@hotmail.com',
+ 'kirstybodiamlla@aol.com',
+ 'josephol@yandex.ru',
+ 'michaelsrp@yandex.ru',
+ 'mellish095sonia@hotmail.com',
+ 'katyasern@mail.ru',
+ 'komperdell@wegas.ru',
+ 'robertmrt@yandex.ru',
+ 'lenniecackettumu@aol.com',
+ 'jeffreyrom@yandex.ru',
+ 'eugenefup@yandex.ru',
+ 'normanusex@yandex.ru',
+ 'aprilosborneat@aol.com',
+ 'subnetmab@hotmail.com',
+ 'stevenvome@yandex.ru',
+ 'colorulya@hotmail.com',
+ 'vtoroy@tattvavit.com',
+ '123abc.hui@gmail.com',
+ 'charlesboxrt@yandex.ru',
+ 'tretiy@tattvavit.com',
+ 'duncedfeilg@hotmail.com',
+ 'ronaldorr@yandex.ru',
+ 'ranmercyei@hotmail.com',
+ 'chenjinhuayi@yandex.com',
+ 'emanuelei@yandex.ru',
+ 'miltonsog@yandex.ru',
+ 'charlesverae@yandex.ru',
+ 'ravispox@yandex.ru',
+ 'pi2erre24g7y@yandex.ru',
+ 'klarakappcou@aol.com',
+ 'kennethot@yandex.ru',
+ 'manuelknot@yandex.ru',
+ 'amenitybv@hotmail.com',
+ 'samuelot@yandex.ru',
+ 'thomascorn@yandex.ru',
+ 'uhhpoxa361@yandex.ru',
+ 'klemen148barclay@hotmail.com',
+ 'avans149olimpia@hotmail.com',
+ 'campione165margit@hotmail.com',
+ 'crebs959myesha@hotmail.com',
+ 'campione165margit@hotmail.com',
+ 'sarahem@mail.ru',
+ 'athirstour@hotmail.com',
+ 'andrewsif47@yandex.ru',
+ 'francissiper@yandex.ru',
+ 'normantutt@yandex.ru',
+ 'novosti-bitcoin@ro.ru',
+ 'albertenshtein77@yandex.ru',
+ 'durley848demetria@hotmail.com',
+ 'marvinsr@yandex.ru',
+ 'justinbom@yandex.ru',
+ 'susbnetmab@gmail.com',
+ 'douglasped@yandex.ru',
+ 'aer1os1oly@gmail.com',
+ 'jeremyseri@yandex.ru',
+ 'adessa016bertie@hotmail.com',
+ 'hectorgype@yandex.ru',
+ 'norbertma@yandex.ru',
+ 'siegers244sherilyn@hotmail.com',
+ 'williamfah@yandex.ru',
+ 'kennethlit@yandex.ru',
+ 'fernandobromes@gmail.com',
+ 'aerosoly@hotmail.com',
+ 'darrelmlt@yandex.ru',
+ 'bartonpier@yandex.ru',
+ 'danielpi@yandex.ru',
+ 'ronaldsalyu@yandex.ru',
+ 'williamptn@yandex.ru',
+ 'alfonsozowern@yandex.ru',
+ 'samuelceser@yandex.ru',
+ 'foucraftyau@hotmail.com',
+ 'antoniocicyer@yandex.ru',
+ 'josephmup@yandex.ru',
+ 'mike_omike@aol.com',
+ 'pehowic655judith@hotmail.com',
+ 'michaelrive@mail.ru',
+ 'robertkirl@yandex.ru',
+ 'matzen436katey@hotmail.com',
+ 'josephjulk@mail.ru',
+ 'hyesos-artem@teem-k.com',
+ 'richardfar@yandex.ru',
+ 'fill659janey@hotmail.com',
+ 'charlesmole@yandex.ru',
+ 'mashaklr@mail.ru',
+ 'renattosutti@gmail.com',
+ 'reheblis@gmail.com',
+ 'stephensr@yandex.ru',
+ 'michaelkek@yandex.ru',
+ 'gormally129dre@hotmail.com',
+ 'edwardmrt@yandex.ru',
+ 'michaelhelo@yandex.ru',
+ 'thomasmubs@yandex.ru',
+ 'claytoncand@yandex.ru',
+ 'curableinfra@hotmail.com',
+ 'samuelscot@yandex.ru',
+ 'fa1212fn@rostov-perimetr.ru',
+ 'phpfoxblognine@163.com',
+ 'lubricatejust@hotmail.com',
+ 'tik@cialisonline-20mg.com',
+ 'andrewhalk@yandex.ru',
+ 'luker106ema@hotmail.com',
+ 'galyakaf@mail.ru',
+ 'whyman864rozella@hotmail.com',
+ 'burgun295ngan@hotmail.com',
+ 'ryoteensseding1980@yandex.ru',
+ 'forumlurennine@163.com',
+ 'bonnievam@yandex.ru',
+ 'imagistzixfgp@hotmail.com',
+ 'cantorrupt@hotmail.com',
+ 'en@genericcialisusa.net',
+ 'veronikamaster@outlook.com',
+ 'mccallister444russ@hotmail.com',
+ 'renschler744nancey@hotmail.com',
+ 'fedoreytrewq@yandex.ru',
+ 'forumlrthree@163.com',
+ 'daggs044alyse@hotmail.com',
+ 'czar553filomena@hotmail.com',
+ 'ingwell033carolin@hotmail.com',
+ 'yeaney580kayleigh@hotmail.com',
+ 'jesspurlingcuc@aol.com',
+ 'wesch266kennith@hotmail.com',
+ 'colleenbaeziy@aol.com',
+ 'utrera607svetlana@hotmail.com',
+ 'marktelepuzik@yandex.ru',
+ 'richarddror@yandex.ru',
+ 'arthurmr@yandex.ru',
+ 'pyscher799emelda@hotmail.com',
+ 'singleterry385eireann@hotmail.com',
+ 'getz202sydney@hotmail.com',
+ 'georgepak@yandex.ru',
+ 'ackmann200corliss@hotmail.com',
+ 'lax@cialisonline-20mg.com',
+ 'user13@smmok-700nm.ru',
+ 'danielsip@yandex.ru',
+ 'edwardsag@yandex.ru',
+ 'gazzara587lacresha@hotmail.com',
+ 'carland661shelby@hotmail.com',
+ 'menucci584pa@hotmail.com',
+ 'gertruda@mail.com',
+ 'nitzkowski740barney@hotmail.com',
+ 'shorthandess@hotmail.com',
+ 'admixscope@hotmail.com',
+ 'cunliffe271taneka@hotmail.com',
+ 'nightetktk@outlook.com',
+ 'julialic@mail.ru',
+ 'nighte2tktk@mail.ru',
+ 'stevencich@yandex.ru',
+ 'kapitosha@wegas.ru',
+ 'pigmymubnpqke@hotmail.com',
+ 'vkk1@yourmoneybinary.com',
+ 'bandytzbxus@hotmail.com',
+ 'fpoej4374@yandex.ru',
+ 'lofty311jorja@hotmail.com',
+ 'krytha@wbskcw.com',
+ 'john@hotmail.com',
+ 'anthonymrk@yandex.ru',
+ 'lorenzokn@yandex.ru',
+ 'danielnawn@yandex.ru',
+ 'brandennity@yandex.ru',
+ 'patrickvus@yandex.ru',
+ 'michaelhopew@yandex.ru',
+ 'hututu0324@163.com',
+ 'tyhthyjhhhh@mixbox.pl',
+ 'nightetktk@hotmail.com',
+ 'georgeole@yandex.ru');
+ }
+
+
+}
diff --git a/frontend/web/count_form/app/data/login.php b/frontend/web/count_form/app/data/login.php
new file mode 100644
index 0000000..cb91307
--- /dev/null
+++ b/frontend/web/count_form/app/data/login.php
@@ -0,0 +1,56 @@
+checkUser($name, $password);
+ if($check){
+ $this->regUser();
+ } else {
+ header("Location:/count_form.php/?p=login");
+ }
+ }
+
+ }
+
+ function createUser()
+ {
+ $this->name = 'form_admin';
+ $this->password = 'qwerty';
+ }
+
+ function checkUser($name, $password)
+ {
+ $this->createUser();
+ if($this->name = $name){
+ if($this->password = $password)
+ {
+ return true;
+
+ } else {
+ return false;
+ }
+ } else {
+ return false;
+ }
+ }
+
+ function regUser(){
+ if(session_id()){
+ $_SESSION['form_admin'] = true;
+ } else {
+
+ session_start();
+ $_SESSION['form_admin'] = true;
+ }
+ }
+
+
+}
\ No newline at end of file
diff --git a/frontend/web/count_form/app/data/sub_quest.php b/frontend/web/count_form/app/data/sub_quest.php
new file mode 100644
index 0000000..401b230
--- /dev/null
+++ b/frontend/web/count_form/app/data/sub_quest.php
@@ -0,0 +1,104 @@
+getInstance('sub_question');
+
+ $sub_data = $sub_question->getAllData();
+
+
+ $result = array('data'=>$sub_data);
+
+ return $result;
+ }
+
+ function add(){
+
+ $model = new \count_form\app\db\Entity();
+ $questions = $model->getInstance('question');
+ $sub = $model->getInstance('sub_question');
+ if(isset($_POST)&&!empty($_POST)){
+ $sub_question['text'] = $_POST['sub_question_text'];
+ $sub_question['input'] = $_POST['sub_question_input'];
+ $sub_question['required'] = empty( $_POST['sub_question_required']) ? 0 : 1;
+ $sub_question['key'] = $_POST['key'];
+ $question_id = $_POST['question_parent_id'];
+
+ if($sub_question['text']){
+
+
+ foreach($question_id as $id) {
+ $sub_question['question_id'] = $id;
+ $sub->addData($sub_question);
+ }
+
+ }
+ header("Location:/count_form.php/?p=sub_quest");
+ }
+
+ $data = $questions->getAllData();
+
+ $result = array('data'=>$data);
+
+ return $result;
+ }
+
+
+ function edit(){
+
+
+ $model = new \count_form\app\db\Entity();
+ $questions = $model->getInstance('question');
+ $sub = $model->getInstance('sub_question');
+ $id = $_GET['id'];
+
+ if(isset($_POST)&&!empty($_POST)){
+ $sub_question['text'] = isset($_POST['sub_question_text'])&&!empty($_POST['sub_question_text']) ? $_POST['sub_question_text'] : null;
+ $sub_question['input'] = $_POST['sub_question_input'];
+ $sub_question['required'] = empty( $_POST['sub_question_required']) ? 0 : 1;
+ $sub_question['key'] = $_POST['key'];
+
+ if($sub_question['text'])
+ {
+ $sub->updateData($sub_question, $id);
+ }
+
+ header("Location:/count_form.php/?p=sub_quest");
+
+ }
+
+ $data = $questions->getAllData();
+ $sub_quest = $sub->getOneData($id);
+ $result = array('data'=>$data, 'sub_question'=>$sub_quest);
+
+ return $result;
+ }
+
+ function delete()
+ {
+ if(isset($_GET['id'])){
+
+ $id = $_GET['id'];
+
+ $model = new \count_form\app\db\Entity();
+
+ $entity = $model->getInstance('sub_question');
+
+ $entity->deleteData($id);
+
+ header("Location:/count_form.php/?p=sub_quest");
+ }
+
+
+ }
+
+
+}
\ No newline at end of file
diff --git a/frontend/web/count_form/app/db/Entity.php b/frontend/web/count_form/app/db/Entity.php
new file mode 100644
index 0000000..a149681
--- /dev/null
+++ b/frontend/web/count_form/app/db/Entity.php
@@ -0,0 +1,55 @@
+getEntity($name);*/
+
+ $this->instance = new $class();
+
+
+ /*$this->instance->props = $this->props;*/
+
+
+ return $this->instance;
+
+ }
+
+
+
+ function setProperty($key, $val)
+ {
+ $this->props[$key] = $val;
+ }
+
+ public function getProperty($key)
+ {
+ return $this->props[$key];
+ }
+
+
+ /*function getEntity($name)
+ {
+ $sql = "SHOW COLUMNS FROM ".$name;
+
+ $result = $this->db->query($sql);
+
+ foreach($result->fetchAll(\PDO::FETCH_ASSOC) as $row){
+
+ $this->setProperty($row['Field'],null);
+
+ }
+
+ return $this->row;
+ }*/
+}
\ No newline at end of file
diff --git a/frontend/web/count_form/app/db/Main.php b/frontend/web/count_form/app/db/Main.php
new file mode 100644
index 0000000..6aa210b
--- /dev/null
+++ b/frontend/web/count_form/app/db/Main.php
@@ -0,0 +1,12 @@
+db = new \PDO('mysql: host=localhost; dbname=artweb_seo', 'artweb_seo','cB3YWtqp');
+ }
+}
\ No newline at end of file
diff --git a/frontend/web/count_form/app/entity/question.php b/frontend/web/count_form/app/entity/question.php
new file mode 100644
index 0000000..a9fa1a8
--- /dev/null
+++ b/frontend/web/count_form/app/entity/question.php
@@ -0,0 +1,175 @@
+db->query($sql);
+
+ return $result->fetchAll(\PDO::FETCH_ASSOC);
+ }
+
+ public function getAllActiveData()
+ {
+
+ $sql =
+ '
+ SELECT * FROM
+ question
+ WHERE
+ status = 1
+ AND
+ parent_id = 0
+ ORDER BY
+ weight ASC';
+ $result = $this->db->query($sql);
+
+ return $result->fetchAll(\PDO::FETCH_ASSOC);
+ }
+
+
+
+
+
+
+ public function getOneData($id)
+ {
+
+ $sql =
+ '
+ SELECT * FROM
+ question
+ WHERE
+ id = :id
+ ';
+ $stmt = $this->db->prepare($sql);
+ $stmt->bindValue(":id", $id);
+ $stmt->execute();
+ return $stmt->fetch(\PDO::FETCH_ASSOC);
+ }
+
+ public function deleteData($id){
+ $sql =
+ ' DELETE
+ FROM
+ question
+ WHERE
+ id = :id
+ ';
+ $stmt = $this->db->prepare($sql);
+ $stmt->bindValue(":id", $id);
+ $stmt->execute();
+ }
+
+ public function addData($data)
+ {
+
+ $sql =
+ '
+ INSERT INTO
+ question
+ (
+ text,
+ input_type,
+ weight,
+ status,
+ required,
+ parent_id
+ )
+ VALUES
+ (
+ :text,
+ :input_type,
+ :weight,
+ :status,
+ :required,
+ :parent_id
+ )
+ ';
+ $stmt = $this->db->prepare($sql);
+ $stmt->bindValue(":text", $data['text']);
+ $stmt->bindValue(":input_type", $data['input_type']);
+ $stmt->bindValue(":weight", $data['weight']);
+ $stmt->bindValue(":status", $data['status']);
+ $stmt->bindValue(":required", $data['required']);
+ $stmt->bindValue(":parent_id", $data['parent_id']);
+ $stmt->execute();
+ return $this->db->lastInsertId();
+
+
+
+ }
+
+ public function UpdateData($data,$id)
+ {
+ $sql =
+ '
+ UPDATE
+ question
+ SET
+ text = :text,
+ input_type = :input_type,
+ weight = :weight,
+ status = :status,
+ required = :required,
+ parent_id = :parent_id
+ WHERE
+ id = :id
+ ';
+ $stmt = $this->db->prepare($sql);
+ $stmt->bindValue(":id", $id);
+ $stmt->bindValue(":text", $data['text']);
+ $stmt->bindValue(":input_type", $data['input_type']);
+ $stmt->bindValue(":weight", $data['weight']);
+ $stmt->bindValue(":status", $data['status']);
+ $stmt->bindValue(":required", $data['required']);
+ $stmt->bindValue(":parent_id", $data['parent_id']);
+ $stmt->execute();
+ }
+
+ function getSelectData($id)
+ {
+ $sql =
+ '
+ SELECT * FROM
+ question
+ WHERE
+ id IN ('.$id.')
+ ORDER BY
+ weight ASC';
+ $result = $this->db->query($sql);
+
+ return $result->fetchAll(\PDO::FETCH_ASSOC);
+ }
+
+ function getChosenData($parent_id){
+
+ $sql =
+ '
+ SELECT * FROM
+ question
+ WHERE
+ status = 1
+ AND
+ parent_id = :parent_id
+ ORDER BY
+ weight ASC';
+ $stmt = $this->db->prepare($sql);
+ $stmt->bindValue(":parent_id", $parent_id);
+ $stmt->execute();
+ return $stmt->fetchAll(\PDO::FETCH_ASSOC);
+
+ }
+
+
+}
\ No newline at end of file
diff --git a/frontend/web/count_form/app/entity/request.php b/frontend/web/count_form/app/entity/request.php
new file mode 100644
index 0000000..69d6c76
--- /dev/null
+++ b/frontend/web/count_form/app/entity/request.php
@@ -0,0 +1,109 @@
+db->query($sql);
+
+ return $result->fetchAll(\PDO::FETCH_ASSOC);
+ }
+
+
+
+
+
+
+
+ public function getOneData($id)
+ {
+
+ $sql =
+ '
+ SELECT * FROM
+ request
+ WHERE
+ id = :id
+ ';
+ $stmt = $this->db->prepare($sql);
+ $stmt->bindValue(":id", $id);
+ $stmt->execute();
+ return $stmt->fetch(\PDO::FETCH_ASSOC);
+ }
+
+ public function deleteData($id){
+ $sql =
+ ' DELETE
+ FROM
+ request
+ WHERE
+ id = :id
+ ';
+ $stmt = $this->db->prepare($sql);
+ $stmt->bindValue(":id", $id);
+ $stmt->execute();
+ }
+
+ public function addData($email, $text)
+ {
+ $sql =
+ '
+ INSERT INTO
+ request
+ (
+ text,
+ email
+ )
+ VALUES
+ (
+ :text,
+ :email
+ )
+ ';
+
+ $stmt = $this->db->prepare($sql);
+ $stmt->bindValue(":text", $text);
+ $stmt->bindValue(":email", $email);
+ $stmt->execute();
+ return $this->db->lastInsertId();
+
+
+
+ }
+
+ public function UpdateData($data,$id)
+ {
+
+ $sql =
+ '
+ UPDATE
+ request
+ SET
+ text = :text,
+ email = :email
+ WHERE
+ id = :id
+ ';
+ $stmt = $this->db->prepare($sql);
+ $stmt->bindValue(":id", $id);
+ $stmt->bindValue(":text", $data['text']);
+ $stmt->bindValue(":email", $data['email']);
+ $stmt->execute();
+ }
+
+
+
+
+
+
+}
\ No newline at end of file
diff --git a/frontend/web/count_form/app/entity/sub_question.php b/frontend/web/count_form/app/entity/sub_question.php
new file mode 100644
index 0000000..5d2cde1
--- /dev/null
+++ b/frontend/web/count_form/app/entity/sub_question.php
@@ -0,0 +1,126 @@
+db->query($sql);
+
+ return $result->fetchAll(\PDO::FETCH_ASSOC);
+ }
+
+ public function getOneData($id)
+ {
+
+ $sql =
+ '
+ SELECT * FROM
+ sub_question
+ WHERE
+ id = :id
+ ';
+ $stmt = $this->db->prepare($sql);
+ $stmt->bindValue(":id", $id);
+ $stmt->execute();
+ return $stmt->fetch(\PDO::FETCH_ASSOC);
+ }
+
+ public function deleteData($id){
+ $sql =
+ ' DELETE
+ FROM
+ sub_question
+ WHERE
+ id = :id
+ ';
+ $stmt = $this->db->prepare($sql);
+ $stmt->bindValue(":id", $id);
+ $stmt->execute();
+ }
+
+ public function addData($data)
+ {
+
+ $sql =
+ '
+ INSERT INTO
+ sub_question
+ (
+ text,
+ input,
+ required,
+ question_id,
+ key_num
+ )
+ VALUES
+ (
+ :text,
+ :input,
+ :required,
+ :question_id,
+ :key
+ )
+ ';
+ $stmt = $this->db->prepare($sql);
+ $stmt->bindValue(":text", $data['text']);
+ $stmt->bindValue(":input", $data['input']);
+ $stmt->bindValue(":required", $data['required']);
+ $stmt->bindValue(":question_id", $data['question_id']);
+ $stmt->bindValue(":key", $data['key']);
+ $stmt->execute();
+
+ }
+
+ public function UpdateData($data,$id)
+ {
+
+ $sql =
+ '
+ UPDATE
+ sub_question
+ SET
+ text = :text,
+ input = :input,
+ required = :required,
+ key_num = :key
+ WHERE
+ id = :id
+ ';
+ $stmt = $this->db->prepare($sql);
+ $stmt->bindValue(":id", $id);
+ $stmt->bindValue(":text", $data['text']);
+ $stmt->bindValue(":input", $data['input']);
+ $stmt->bindValue(":required", $data['required']);
+ $stmt->bindValue(":key", $data['key']);
+ $stmt->execute();
+ }
+
+
+ function getSelectData($id)
+ {
+ $sql =
+ '
+ SELECT * FROM
+ sub_question
+ WHERE
+ question_id IN ('.$id.')
+ ORDER BY
+ id ASC';
+ $result = $this->db->query($sql);
+
+ return $result->fetchAll(\PDO::FETCH_ASSOC);
+ }
+
+
+
+}
\ No newline at end of file
diff --git a/frontend/web/count_form/app/lib/PHPMailer_5.2.4/LICENSE b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/LICENSE
new file mode 100644
index 0000000..f3f1b3b
--- /dev/null
+++ b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/LICENSE
@@ -0,0 +1,504 @@
+ GNU LESSER GENERAL PUBLIC LICENSE
+ Version 2.1, February 1999
+
+ Copyright (C) 1991, 1999 Free Software Foundation, Inc.
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+[This is the first released version of the Lesser GPL. It also counts
+ as the successor of the GNU Library Public License, version 2, hence
+ the version number 2.1.]
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+Licenses are intended to guarantee your freedom to share and change
+free software--to make sure the software is free for all its users.
+
+ This license, the Lesser General Public License, applies to some
+specially designated software packages--typically libraries--of the
+Free Software Foundation and other authors who decide to use it. You
+can use it too, but we suggest you first think carefully about whether
+this license or the ordinary General Public License is the better
+strategy to use in any particular case, based on the explanations below.
+
+ When we speak of free software, we are referring to freedom of use,
+not price. Our General Public Licenses are designed to make sure that
+you have the freedom to distribute copies of free software (and charge
+for this service if you wish); that you receive source code or can get
+it if you want it; that you can change the software and use pieces of
+it in new free programs; and that you are informed that you can do
+these things.
+
+ To protect your rights, we need to make restrictions that forbid
+distributors to deny you these rights or to ask you to surrender these
+rights. These restrictions translate to certain responsibilities for
+you if you distribute copies of the library or if you modify it.
+
+ For example, if you distribute copies of the library, whether gratis
+or for a fee, you must give the recipients all the rights that we gave
+you. You must make sure that they, too, receive or can get the source
+code. If you link other code with the library, you must provide
+complete object files to the recipients, so that they can relink them
+with the library after making changes to the library and recompiling
+it. And you must show them these terms so they know their rights.
+
+ We protect your rights with a two-step method: (1) we copyright the
+library, and (2) we offer you this license, which gives you legal
+permission to copy, distribute and/or modify the library.
+
+ To protect each distributor, we want to make it very clear that
+there is no warranty for the free library. Also, if the library is
+modified by someone else and passed on, the recipients should know
+that what they have is not the original version, so that the original
+author's reputation will not be affected by problems that might be
+introduced by others.
+
+ Finally, software patents pose a constant threat to the existence of
+any free program. We wish to make sure that a company cannot
+effectively restrict the users of a free program by obtaining a
+restrictive license from a patent holder. Therefore, we insist that
+any patent license obtained for a version of the library must be
+consistent with the full freedom of use specified in this license.
+
+ Most GNU software, including some libraries, is covered by the
+ordinary GNU General Public License. This license, the GNU Lesser
+General Public License, applies to certain designated libraries, and
+is quite different from the ordinary General Public License. We use
+this license for certain libraries in order to permit linking those
+libraries into non-free programs.
+
+ When a program is linked with a library, whether statically or using
+a shared library, the combination of the two is legally speaking a
+combined work, a derivative of the original library. The ordinary
+General Public License therefore permits such linking only if the
+entire combination fits its criteria of freedom. The Lesser General
+Public License permits more lax criteria for linking other code with
+the library.
+
+ We call this license the "Lesser" General Public License because it
+does Less to protect the user's freedom than the ordinary General
+Public License. It also provides other free software developers Less
+of an advantage over competing non-free programs. These disadvantages
+are the reason we use the ordinary General Public License for many
+libraries. However, the Lesser license provides advantages in certain
+special circumstances.
+
+ For example, on rare occasions, there may be a special need to
+encourage the widest possible use of a certain library, so that it becomes
+a de-facto standard. To achieve this, non-free programs must be
+allowed to use the library. A more frequent case is that a free
+library does the same job as widely used non-free libraries. In this
+case, there is little to gain by limiting the free library to free
+software only, so we use the Lesser General Public License.
+
+ In other cases, permission to use a particular library in non-free
+programs enables a greater number of people to use a large body of
+free software. For example, permission to use the GNU C Library in
+non-free programs enables many more people to use the whole GNU
+operating system, as well as its variant, the GNU/Linux operating
+system.
+
+ Although the Lesser General Public License is Less protective of the
+users' freedom, it does ensure that the user of a program that is
+linked with the Library has the freedom and the wherewithal to run
+that program using a modified version of the Library.
+
+ The precise terms and conditions for copying, distribution and
+modification follow. Pay close attention to the difference between a
+"work based on the library" and a "work that uses the library". The
+former contains code derived from the library, whereas the latter must
+be combined with the library in order to run.
+
+ GNU LESSER GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License Agreement applies to any software library or other
+program which contains a notice placed by the copyright holder or
+other authorized party saying it may be distributed under the terms of
+this Lesser General Public License (also called "this License").
+Each licensee is addressed as "you".
+
+ A "library" means a collection of software functions and/or data
+prepared so as to be conveniently linked with application programs
+(which use some of those functions and data) to form executables.
+
+ The "Library", below, refers to any such software library or work
+which has been distributed under these terms. A "work based on the
+Library" means either the Library or any derivative work under
+copyright law: that is to say, a work containing the Library or a
+portion of it, either verbatim or with modifications and/or translated
+straightforwardly into another language. (Hereinafter, translation is
+included without limitation in the term "modification".)
+
+ "Source code" for a work means the preferred form of the work for
+making modifications to it. For a library, complete source code means
+all the source code for all modules it contains, plus any associated
+interface definition files, plus the scripts used to control compilation
+and installation of the library.
+
+ Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running a program using the Library is not restricted, and output from
+such a program is covered only if its contents constitute a work based
+on the Library (independent of the use of the Library in a tool for
+writing it). Whether that is true depends on what the Library does
+and what the program that uses the Library does.
+
+ 1. You may copy and distribute verbatim copies of the Library's
+complete source code as you receive it, in any medium, provided that
+you conspicuously and appropriately publish on each copy an
+appropriate copyright notice and disclaimer of warranty; keep intact
+all the notices that refer to this License and to the absence of any
+warranty; and distribute a copy of this License along with the
+Library.
+
+ You may charge a fee for the physical act of transferring a copy,
+and you may at your option offer warranty protection in exchange for a
+fee.
+
+ 2. You may modify your copy or copies of the Library or any portion
+of it, thus forming a work based on the Library, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) The modified work must itself be a software library.
+
+ b) You must cause the files modified to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ c) You must cause the whole of the work to be licensed at no
+ charge to all third parties under the terms of this License.
+
+ d) If a facility in the modified Library refers to a function or a
+ table of data to be supplied by an application program that uses
+ the facility, other than as an argument passed when the facility
+ is invoked, then you must make a good faith effort to ensure that,
+ in the event an application does not supply such function or
+ table, the facility still operates, and performs whatever part of
+ its purpose remains meaningful.
+
+ (For example, a function in a library to compute square roots has
+ a purpose that is entirely well-defined independent of the
+ application. Therefore, Subsection 2d requires that any
+ application-supplied function or table used by this function must
+ be optional: if the application does not supply it, the square
+ root function must still compute square roots.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Library,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Library, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote
+it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Library.
+
+In addition, mere aggregation of another work not based on the Library
+with the Library (or with a work based on the Library) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may opt to apply the terms of the ordinary GNU General Public
+License instead of this License to a given copy of the Library. To do
+this, you must alter all the notices that refer to this License, so
+that they refer to the ordinary GNU General Public License, version 2,
+instead of to this License. (If a newer version than version 2 of the
+ordinary GNU General Public License has appeared, then you can specify
+that version instead if you wish.) Do not make any other change in
+these notices.
+
+ Once this change is made in a given copy, it is irreversible for
+that copy, so the ordinary GNU General Public License applies to all
+subsequent copies and derivative works made from that copy.
+
+ This option is useful when you wish to copy part of the code of
+the Library into a program that is not a library.
+
+ 4. You may copy and distribute the Library (or a portion or
+derivative of it, under Section 2) in object code or executable form
+under the terms of Sections 1 and 2 above provided that you accompany
+it with the complete corresponding machine-readable source code, which
+must be distributed under the terms of Sections 1 and 2 above on a
+medium customarily used for software interchange.
+
+ If distribution of object code is made by offering access to copy
+from a designated place, then offering equivalent access to copy the
+source code from the same place satisfies the requirement to
+distribute the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 5. A program that contains no derivative of any portion of the
+Library, but is designed to work with the Library by being compiled or
+linked with it, is called a "work that uses the Library". Such a
+work, in isolation, is not a derivative work of the Library, and
+therefore falls outside the scope of this License.
+
+ However, linking a "work that uses the Library" with the Library
+creates an executable that is a derivative of the Library (because it
+contains portions of the Library), rather than a "work that uses the
+library". The executable is therefore covered by this License.
+Section 6 states terms for distribution of such executables.
+
+ When a "work that uses the Library" uses material from a header file
+that is part of the Library, the object code for the work may be a
+derivative work of the Library even though the source code is not.
+Whether this is true is especially significant if the work can be
+linked without the Library, or if the work is itself a library. The
+threshold for this to be true is not precisely defined by law.
+
+ If such an object file uses only numerical parameters, data
+structure layouts and accessors, and small macros and small inline
+functions (ten lines or less in length), then the use of the object
+file is unrestricted, regardless of whether it is legally a derivative
+work. (Executables containing this object code plus portions of the
+Library will still fall under Section 6.)
+
+ Otherwise, if the work is a derivative of the Library, you may
+distribute the object code for the work under the terms of Section 6.
+Any executables containing that work also fall under Section 6,
+whether or not they are linked directly with the Library itself.
+
+ 6. As an exception to the Sections above, you may also combine or
+link a "work that uses the Library" with the Library to produce a
+work containing portions of the Library, and distribute that work
+under terms of your choice, provided that the terms permit
+modification of the work for the customer's own use and reverse
+engineering for debugging such modifications.
+
+ You must give prominent notice with each copy of the work that the
+Library is used in it and that the Library and its use are covered by
+this License. You must supply a copy of this License. If the work
+during execution displays copyright notices, you must include the
+copyright notice for the Library among them, as well as a reference
+directing the user to the copy of this License. Also, you must do one
+of these things:
+
+ a) Accompany the work with the complete corresponding
+ machine-readable source code for the Library including whatever
+ changes were used in the work (which must be distributed under
+ Sections 1 and 2 above); and, if the work is an executable linked
+ with the Library, with the complete machine-readable "work that
+ uses the Library", as object code and/or source code, so that the
+ user can modify the Library and then relink to produce a modified
+ executable containing the modified Library. (It is understood
+ that the user who changes the contents of definitions files in the
+ Library will not necessarily be able to recompile the application
+ to use the modified definitions.)
+
+ b) Use a suitable shared library mechanism for linking with the
+ Library. A suitable mechanism is one that (1) uses at run time a
+ copy of the library already present on the user's computer system,
+ rather than copying library functions into the executable, and (2)
+ will operate properly with a modified version of the library, if
+ the user installs one, as long as the modified version is
+ interface-compatible with the version that the work was made with.
+
+ c) Accompany the work with a written offer, valid for at
+ least three years, to give the same user the materials
+ specified in Subsection 6a, above, for a charge no more
+ than the cost of performing this distribution.
+
+ d) If distribution of the work is made by offering access to copy
+ from a designated place, offer equivalent access to copy the above
+ specified materials from the same place.
+
+ e) Verify that the user has already received a copy of these
+ materials or that you have already sent this user a copy.
+
+ For an executable, the required form of the "work that uses the
+Library" must include any data and utility programs needed for
+reproducing the executable from it. However, as a special exception,
+the materials to be distributed need not include anything that is
+normally distributed (in either source or binary form) with the major
+components (compiler, kernel, and so on) of the operating system on
+which the executable runs, unless that component itself accompanies
+the executable.
+
+ It may happen that this requirement contradicts the license
+restrictions of other proprietary libraries that do not normally
+accompany the operating system. Such a contradiction means you cannot
+use both them and the Library together in an executable that you
+distribute.
+
+ 7. You may place library facilities that are a work based on the
+Library side-by-side in a single library together with other library
+facilities not covered by this License, and distribute such a combined
+library, provided that the separate distribution of the work based on
+the Library and of the other library facilities is otherwise
+permitted, and provided that you do these two things:
+
+ a) Accompany the combined library with a copy of the same work
+ based on the Library, uncombined with any other library
+ facilities. This must be distributed under the terms of the
+ Sections above.
+
+ b) Give prominent notice with the combined library of the fact
+ that part of it is a work based on the Library, and explaining
+ where to find the accompanying uncombined form of the same work.
+
+ 8. You may not copy, modify, sublicense, link with, or distribute
+the Library except as expressly provided under this License. Any
+attempt otherwise to copy, modify, sublicense, link with, or
+distribute the Library is void, and will automatically terminate your
+rights under this License. However, parties who have received copies,
+or rights, from you under this License will not have their licenses
+terminated so long as such parties remain in full compliance.
+
+ 9. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Library or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Library (or any work based on the
+Library), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Library or works based on it.
+
+ 10. Each time you redistribute the Library (or any work based on the
+Library), the recipient automatically receives a license from the
+original licensor to copy, distribute, link with or modify the Library
+subject to these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties with
+this License.
+
+ 11. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Library at all. For example, if a patent
+license would not permit royalty-free redistribution of the Library by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Library.
+
+If any portion of this section is held invalid or unenforceable under any
+particular circumstance, the balance of the section is intended to apply,
+and the section as a whole is intended to apply in other circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 12. If the distribution and/or use of the Library is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Library under this License may add
+an explicit geographical distribution limitation excluding those countries,
+so that distribution is permitted only in or among countries not thus
+excluded. In such case, this License incorporates the limitation as if
+written in the body of this License.
+
+ 13. The Free Software Foundation may publish revised and/or new
+versions of the Lesser General Public License from time to time.
+Such new versions will be similar in spirit to the present version,
+but may differ in detail to address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Library
+specifies a version number of this License which applies to it and
+"any later version", you have the option of following the terms and
+conditions either of that version or of any later version published by
+the Free Software Foundation. If the Library does not specify a
+license version number, you may choose any version ever published by
+the Free Software Foundation.
+
+ 14. If you wish to incorporate parts of the Library into other free
+programs whose distribution conditions are incompatible with these,
+write to the author to ask for permission. For software which is
+copyrighted by the Free Software Foundation, write to the Free
+Software Foundation; we sometimes make exceptions for this. Our
+decision will be guided by the two goals of preserving the free status
+of all derivatives of our free software and of promoting the sharing
+and reuse of software generally.
+
+ NO WARRANTY
+
+ 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
+WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
+EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
+OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
+KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
+LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
+THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+ 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
+WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
+AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
+FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
+CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
+LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
+RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
+FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
+SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Libraries
+
+ If you develop a new library, and you want it to be of the greatest
+possible use to the public, we recommend making it free software that
+everyone can redistribute and change. You can do so by permitting
+redistribution under these terms (or, alternatively, under the terms of the
+ordinary General Public License).
+
+ To apply these terms, attach the following notices to the library. It is
+safest to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least the
+"copyright" line and a pointer to where the full notice is found.
+
+
+ Copyright (C)
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+Also add information on how to contact you by electronic and paper mail.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the library, if
+necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the
+ library `Frob' (a library for tweaking knobs) written by James Random Hacker.
+
+ , 1 April 1990
+ Ty Coon, President of Vice
+
+That's all there is to it!
+
+
diff --git a/frontend/web/count_form/app/lib/PHPMailer_5.2.4/README b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/README
new file mode 100644
index 0000000..a28dd52
--- /dev/null
+++ b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/README
@@ -0,0 +1,137 @@
+# PHPMailer - A full-featured email creation and transfer class for PHP
+
+## Class Features
+
+- Probably the world's most popular code for sending email from PHP!
+- Used by many open-source projects: Drupal, SugarCRM, Yii, Joomla!
+ and many more
+- Send emails with multiple TOs, CCs, BCCs and REPLY-TOs
+- Redundant SMTP servers
+- Multipart/alternative emails for mail clients that do not read HTML email
+- Support for 8bit, base64, binary, and quoted-printable encoding
+- Uses the same methods as the very popular AspEmail active server (COM)
+ component
+- SMTP authentication
+- Native language support
+- Word wrap
+- Compatible with PHP 5.0 and later
+- Much more!
+
+## Why you might need it
+
+Many PHP developers utilize email in their code. The only PHP function that
+supports this is the mail() function. However, it does not provide any
+assistance for making use of popular features such as HTML-based emails and
+attachments.
+
+Formatting email correctly is surprisingly difficult. There are myriad
+overlapping RFCs, requiring tight adherence to horribly complicated
+formatting and encoding rules - the vast majority of code that you'll find
+online that uses the mail() function directly is just plain wrong! *Please*
+don't be tempted to do it yourself - if you don't use PHPMailer, there are
+many other excellent libraries that you should look at before rolling your
+own - try SwiftMailer, Zend_Mail, eZcomponents etc.
+
+The PHP mail() function usually sends via a local mail server, typically
+fronted by a `sendmail` binary on Linux, BSD and OS X platforms, however,
+Windows usually doesn't include a local mail server; PHPMailer's integrated
+SMTP implementation allows email sending on Windows platforms without a
+local mail server.
+
+## License
+
+This software is licenced under the
+[LGPL](http://www.gnu.org/licenses/lgpl-2.1.html). Please read LICENSE for
+information on the software availability and distribution.
+
+## Installation
+
+Copy the contents of the PHPMailer folder into somewhere that's in your PHP
+include_path setting.
+
+## A Simple Example
+
+```php
+IsSMTP(); // Set mailer to use SMTP
+$mail->Host = 'smtp1.example.com;smtp2.example.com'; // Specify main and backup server
+$mail->SMTPAuth = true; // Enable SMTP authentication
+$mail->Username = 'jswan'; // SMTP username
+$mail->Password = 'secret'; // SMTP password
+$mail->SMTPSecure = 'tls'; // Enable encryption, 'ssl' also accepted
+
+$mail->From = 'from@example.com';
+$mail->FromName = 'Mailer';
+$mail->AddAddress('josh@example.net', 'Josh Adams'); // Add a recipient
+$mail->AddAddress('ellen@example.com'); // Name is optional
+$mail->AddReplyTo('info@example.com', 'Information');
+$mail->AddCC('cc@example.com');
+$mail->AddBCC('bcc@example.com');
+
+$mail->WordWrap = 50; // Set word wrap to 50 characters
+$mail->AddAttachment('/var/tmp/file.tar.gz'); // Add attachments
+$mail->AddAttachment('/tmp/image.jpg', 'new.jpg'); // Optional name
+$mail->IsHTML(true); // Set email format to HTML
+
+$mail->Subject = 'Here is the subject';
+$mail->Body = 'This is the HTML message body in bold! ';
+$mail->AltBody = 'This is the body in plain text for non-HTML mail clients';
+
+if(!$mail->Send()) {
+ echo 'Message could not be sent.';
+ echo 'Mailer Error: ' . $mail->ErrorInfo;
+ exit;
+}
+
+echo 'Message has been sent';
+```
+
+You'll find plenty more to play with in the `examples` folder.
+
+That's it. You should now be ready to use PHPMailer!
+
+## Localization
+PHPMailer defaults to English, but in the `languages` folder you'll find
+numerous translations for PHPMailer error messages that you may encounter.
+Their filenames contain [ISO 639-1](http://en.wikipedia.org/wiki/ISO_639-1)
+language code for the translations, for example `fr` for French. To specify
+a language, you need to tell PHPMailer which one to use, like this:
+
+```php
+// To load the French version
+$mail->SetLanguage('fr', '/optional/path/to/language/directory/');
+```
+
+## Documentation
+
+You'll find some basic user-level docs in the docs folder, and you can
+re-generate complete API-level documentation using the `makedocs2.sh` shell
+script in the docs folder, though you'll need to install
+[PHPDocumentor](http://www.phpdoc.org) first.
+
+## Tests
+
+You'll find a PHPUnit test script in the `test` folder.
+
+## Contributing
+
+Please submit bug reports, suggestions and pull requests to the [Google Code
+tracker](https://code.google.com/a/apache-extras.org/p/phpmailer/issues/list).
+
+We're particularly interested in fixing edge-cases, expanding test coverage
+and updating translations.
+
+Please *don't* use the sourceforge project any more.
+
+## Changelog
+
+See changelog.txt
+
+## History
+- PHPMailer was originally written in 2001 by Brent R. Matzelle as a [SourceForge project](http://sourceforge.net/projects/phpmailer/).
+- Marcus Bointon (coolbru on SF) and Andy Prevost (codeworxtech) took over the project in 2004.
+- The project became an [Apache Extras project on Google Code](https://code.google.com/a/apache-extras.org/p/phpmailer/) in 2010, managed by Jim Jagielski
diff --git a/frontend/web/count_form/app/lib/PHPMailer_5.2.4/changelog.txt b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/changelog.txt
new file mode 100644
index 0000000..f8cd0d1
--- /dev/null
+++ b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/changelog.txt
@@ -0,0 +1,483 @@
+ChangeLog
+
+NOTE: THIS VERSION OF PHPMAILER IS DESIGNED FOR PHP5/PHP6.
+ IT WILL NOT WORK WITH PHP4.
+
+Version 5.2.4 (February 19, 2013)
+ * Fix tag and version bug.
+ * un-deprecate isSMTP(), isMail(), IsSendmail() and
+ isQmail().
+
+Version 5.2.3 (February 8, 2013)
+ * Fix issue with older PCREs and ValidateAddress() (Bugz: 124)
+
+Version 5.2.2 (December 3, 2012)
+ * Some fixes and syncs from https://github.com/Synchro/PHPMailer
+
+Version 5.2.2-rc2 (November 6, 2012)
+ * Fix SMTP server rotation (Bugz: 118)
+ * Allow override of autogen'ed 'Date' header (for Drupal's
+ og_mailinglist module)
+ * No whitespace after '-f' option (Bugz: 116)
+ * Work around potential warning (Bugz: 114)
+
+Version 5.2.2-rc1 (September 28, 2012)
+ * Header encoding works with long lines (Bugz: 93)
+ * Turkish language update (Bugz: 94)
+ * undefined $pattern in EncodeQ bug squashed (Bugz: 98)
+ * use of mail() in safe_mode now works (Bugz: 96)
+ * ValidateAddress() now 'public static' so people can override the
+ default and use their own validation scheme.
+ * ValidateAddress() no longer uses broken FILTER_VALIDATE_EMAIL
+ * Added in AUTH PLAIN SMTP authentication
+
+Version 5.2.2-beta2 (August 17, 2012)
+ * Fixed Postfix VERP support (Bugz: 92)
+ * Allow action_function callbacks to pass/use
+ the From address (passed as final param)
+ * Prevent inf look for get_lines() (Bugz: 77)
+ * New public var ($UseSendmailOptions). Only pass sendmail()
+ options iff we really are using sendmail or something sendmail
+ compatible. (Bugz: 75)
+ * default setting for LE returned to "\n" due to popular demand.
+
+Version 5.2.2-beta1 (July 13, 2012)
+ * Expose PreSend() and PostSend() as public methods to allow
+ for more control if serializing message sending.
+ * GetSentMIMEMessage() only constructs the message copy when
+ needed. Save memory.
+ * Only pass params to mail() if the underlying MTA is
+ "sendmail" (as defined as "having the string sendmail
+ in its pathname") [#69]
+ * Attachments now work with Amazon SES and others [Bugz#70]
+ * Debug output now sent to stdout (via echo) or error_log [Bugz#5]
+ * New var: Debugoutput (for above) [Bugz#5]
+ * SMTP reads now Timeout aware (new var: Timeout=15) [Bugz#71]
+ * SMTP reads now can have a Timelimit associated with them
+ (new var: Timelimit=30)[Bugz#71]
+ * Fix quoting issue associated with charsets
+ * default setting for LE is now RFC compliant: "\r\n"
+ * Return-Path can now be user defined (new var: ReturnPath)
+ (the default is "" which implies no change from previous
+ behavior, which was to use either From or Sender) [Bugz#46]
+ * X-Mailer header can now be disabled (by setting to a
+ whitespace string, eg " ") [Bugz#66]
+ * Bugz closed: #68, #60, #42, #43, #59, #55, #66, #48, #49,
+ #52, #31, #41, #5. #70, #69
+
+Version 5.2.1 (January 16, 2012)
+ * Closed several bugs#5
+ * Performance improvements
+ * MsgHTML() now returns the message as required.
+ * New method: GetSentMIMEMessage() (returns full copy of sent message)
+
+Version 5.2 (July 19, 2011)
+ * protected MIME body and header
+ * better DKIM DNS Resource Record support
+ * better aly handling
+ * htmlfilter class added to extras
+ * moved to Apache Extras
+
+Version 5.1 (October 20, 2009)
+ * fixed filename issue with AddStringAttachment (thanks to Tony)
+ * fixed "SingleTo" property, now works with Senmail, Qmail, and SMTP in
+ addition to PHP mail()
+ * added DKIM digital signing functionality
+ New properties:
+ - DKIM_domain (sets the domain name)
+ - DKIM_private (holds DKIM private key)
+ - DKIM_passphrase (holds your DKIM passphrase)
+ - DKIM_selector (holds the DKIM "selector")
+ - DKIM_identity (holds the identifying email address)
+ * added callback function support
+ - callback function parameters include:
+ result, to, cc, bcc, subject and body
+ * see the test/test_callback.php file for usage.
+ * added "auto" identity functionality
+ - can automatically add:
+ - Return-path (if Sender not set)
+ - Reply-To (if ReplyTo not set)
+ - can be disabled:
+ - $mail->SetFrom('yourname@yourdomain.com','First Last',false);
+ - or by adding the $mail->Sender and/or $mail->ReplyTo properties
+ Note: "auto" identity added to help with emails ending up in spam
+ or junk boxes because of missing headers
+
+Version 5.0.2 (May 24, 2009)
+ * Fix for missing attachments when inline graphics are present
+ * Fix for missing Cc in header when using SMTP (mail was sent,
+ but not displayed in header -- Cc receiver only saw email To:
+ line and no Cc line, but did get the email (To receiver
+ saw same)
+
+Version 5.0.1 (April 05, 2009)
+ * Temporary fix for missing attachments
+
+Version 5.0.0 (April 02, 2009)
+
+ * With the release of this version, we are initiating a new version numbering
+ system to differentiate from the PHP4 version of PHPMailer.
+ * Most notable in this release is fully object oriented code.
+ class.smtp.php:
+ * Refactored class.smtp.php to support new exception handling
+ code size reduced from 29.2 Kb to 25.6 Kb
+ * Removed unnecessary functions from class.smtp.php:
+ public function Expand($name) {
+ public function Help($keyword="") {
+ public function Noop() {
+ public function Send($from) {
+ public function SendOrMail($from) {
+ public function Verify($name) {
+ class.phpmailer.php:
+ * Refactored class.phpmailer.php with new exception handling
+ * Changed processing functionality of Sendmail and Qmail so they cannot be
+ inadvertently used
+ * removed getFile() function, just became a simple wrapper for
+ file_get_contents()
+ * added check for PHP version (will gracefully exit if not at least PHP 5.0)
+ class.phpmailer.php enhancements
+ * enhanced code to check if an attachment source is the same as an embedded or
+ inline graphic source to eliminate duplicate attachments
+ New /test_script
+ * We have written a test script you can use to test the script as part of your
+ installation. Once you press submit, the test script will send a multi-mime
+ email with either the message you type in or an HTML email with an inline
+ graphic. Two attachments are included in the email (one of the attachments
+ is also the inline graphic so you can see that only one copy of the graphic
+ is sent in the email). The test script will also display the functional
+ script that you can copy/paste to your editor to duplicate the functionality.
+ New examples
+ * All new examples in both basic and advanced modes. Advanced examples show
+ Exception handling.
+ PHPDocumentator (phpdocs) documentation for PHPMailer version 5.0.0
+ * all new documentation
+
+ Please note: the website has been updated to reflect the changes in PHPMailer
+Version 5.0.0. http://phpmailer.codeworxtech.com/
+
+Version 2.3 (November 06, 2008)
+
+ * added Arabic language (many thanks to Bahjat Al Mostafa)
+ * removed English language from language files and made it a default within
+ class.phpmailer.php - if no language is found, it will default to use
+ the english language translation
+ * fixed public/private declarations
+ * corrected line 1728, $basedir to $directory
+ * added $sign_cert_file to avoid improper duplicate use of $sign_key_file
+ * corrected $this->Hello on line 612 to $this->Helo
+ * changed default of $LE to "\r\n" to comply with RFC 2822. Can be set by the user
+ if default is not acceptable
+ * removed trim() from return results in EncodeQP
+ * /test and three files it contained are removed from version 2.3
+ * fixed phpunit.php for compliance with PHP5
+ * changed $this->AltBody = $textMsg; to $this->AltBody = html_entity_decode($textMsg);
+ * We have removed the /phpdoc from the downloads. All documentation is now on
+ the http://phpmailer.codeworxtech.com website.
+
+Version 2.2.1 () July 19 2008
+
+ * fixed line 1092 in class.smtp.php (my apologies, error on my part)
+
+Version 2.2 () July 15 2008
+
+ * Fixed redirect issue (display of UTF-8 in thank you redirect)
+ * fixed error in getResponse function declaration (class.pop3.php)
+ * PHPMailer now PHP6 compliant
+ * fixed line 1092 in class.smtp.php (endless loop from missing = sign)
+
+Version 2.1 (Wed, June 04 2008)
+
+ ** NOTE: WE HAVE A NEW LANGUAGE VARIABLE FOR DIGITALLY SIGNED S/MIME EMAILS.
+ IF YOU CAN HELP WITH LANGUAGES OTHER THAN ENGLISH AND SPANISH, IT WOULD BE
+ APPRECIATED.
+
+ * added S/MIME functionality (ability to digitally sign emails)
+ BIG THANKS TO "sergiocambra" for posting this patch back in November 2007.
+ The "Signed Emails" functionality adds the Sign method to pass the private key
+ filename and the password to read it, and then email will be sent with
+ content-type multipart/signed and with the digital signature attached.
+ * fully compatible with E_STRICT error level
+ - Please note:
+ In about half the test environments this development version was subjected
+ to, an error was thrown for the date() functions used (line 1565 and 1569).
+ This is NOT a PHPMailer error, it is the result of an incorrectly configured
+ PHP5 installation. The fix is to modify your 'php.ini' file and include the
+ date.timezone = America/New York
+ directive, to your own server timezone
+ - If you do get this error, and are unable to access your php.ini file:
+ In your PHP script, add
+ date_default_timezone_set('America/Toronto');
+ - do not try to use
+ $myVar = date_default_timezone_get();
+ as a test, it will throw an error.
+ * added ability to define path (mainly for embedded images)
+ function MsgHTML($message,$basedir='') ... where:
+ $basedir is the fully qualified path
+ * fixed MsgHTML() function:
+ - Embedded Images where images are specified by :// will not be altered or embedded
+ * fixed the return value of SMTP exit code ( pclose )
+ * addressed issue of multibyte characters in subject line and truncating
+ * added ability to have user specified Message ID
+ (default is still that PHPMailer create a unique Message ID)
+ * corrected unidentified message type to 'application/octet-stream'
+ * fixed chunk_split() multibyte issue (thanks to Colin Brown, et al).
+ * added check for added attachments
+ * enhanced conversion of HTML to text in MsgHTML (thanks to "brunny")
+
+Version 2.1.0beta2 (Sun, Dec 02 2007)
+ * implemented updated EncodeQP (thanks to coolbru, aka Marcus Bointon)
+ * finished all testing, all known bugs corrected, enhancements tested
+ - note: will NOT work with PHP4.
+
+ please note, this is BETA software
+ ** DO NOT USE THIS IN PRODUCTION OR LIVE PROJECTS
+ INTENDED STRICTLY FOR TESTING
+
+Version 2.1.0beta1
+ please note, this is BETA software
+ ** DO NOT USE THIS IN PRODUCTION OR LIVE PROJECTS
+ INTENDED STRICTLY FOR TESTING
+
+Version 2.0.0 rc2 (Fri, Nov 16 2007), interim release
+ * implements new property to control VERP in class.smtp.php
+ example (requires instantiating class.smtp.php):
+ $mail->do_verp = true;
+ * POP-before-SMTP functionality included, thanks to Richard Davey
+ (see class.pop3.php & pop3_before_smtp_test.php for examples)
+ * included example showing how to use PHPMailer with GMAIL
+ * fixed the missing Cc in SendMail() and Mail()
+
+ ******************
+ A note on sending bulk emails:
+
+ If the email you are sending is not personalized, consider using the
+ "undisclosed-recipient:;" strategy. That is, put all of your recipients
+ in the Bcc field and set the To field to "undisclosed-recipients:;".
+ It's a lot faster (only one send) and saves quite a bit on resources.
+ Contrary to some opinions, this will not get you listed in spam engines -
+ it's a legitimate way for you to send emails.
+
+ A partial example for use with PHPMailer:
+
+ $mail->AddAddress("undisclosed-recipients:;");
+ $mail->AddBCC("email1@anydomain.com,email2@anyotherdomain.com,email3@anyalternatedomain.com");
+
+ Many email service providers restrict the number of emails that can be sent
+ in any given time period. Often that is between 50 - 60 emails maximum
+ per hour or per send session.
+
+ If that's the case, then break up your Bcc lists into chunks that are one
+ less than your limit, and put a pause in your script.
+ *******************
+
+Version 2.0.0 rc1 (Thu, Nov 08 2007), interim release
+ * dramatically simplified using inline graphics ... it's fully automated and requires no user input
+ * added automatic document type detection for attachments and pictures
+ * added MsgHTML() function to replace Body tag for HTML emails
+ * fixed the SendMail security issues (input validation vulnerability)
+ * enhanced the AddAddresses functionality so that the "Name" portion is used in the email address
+ * removed the need to use the AltBody method (set from the HTML, or default text used)
+ * set the PHP Mail() function as the default (still support SendMail, SMTP Mail)
+ * removed the need to set the IsHTML property (set automatically)
+ * added Estonian language file by Indrek Päri
+ * added header injection patch
+ * added "set" method to permit users to create their own pseudo-properties like 'X-Headers', etc.
+ example of use:
+ $mail->set('X-Priority', '3');
+ $mail->set('X-MSMail-Priority', 'Normal');
+ * fixed warning message in SMTP get_lines method
+ * added TLS/SSL SMTP support
+ example of use:
+ $mail = new PHPMailer();
+ $mail->Mailer = "smtp";
+ $mail->Host = "smtp.example.com";
+ $mail->SMTPSecure = "tls"; // option
+ //$mail->SMTPSecure = "ssl"; // option
+ ...
+ $mail->Send();
+ * PHPMailer has been tested with PHP4 (4.4.7) and PHP5 (5.2.7)
+ * Works with PHP installed as a module or as CGI-PHP
+ - NOTE: will NOT work with PHP5 in E_STRICT error mode
+
+Version 1.73 (Sun, Jun 10 2005)
+ * Fixed denial of service bug: http://www.cybsec.com/vuln/PHPMailer-DOS.pdf
+ * Now has a total of 20 translations
+ * Fixed alt attachments bug: http://tinyurl.com/98u9k
+
+Version 1.72 (Wed, May 25 2004)
+ * Added Dutch, Swedish, Czech, Norwegian, and Turkish translations.
+ * Received: Removed this method because spam filter programs like
+ SpamAssassin reject this header.
+ * Fixed error count bug.
+ * SetLanguage default is now "language/".
+ * Fixed magic_quotes_runtime bug.
+
+Version 1.71 (Tue, Jul 28 2003)
+ * Made several speed enhancements
+ * Added German and Italian translation files
+ * Fixed HELO/AUTH bugs on keep-alive connects
+ * Now provides an error message if language file does not load
+ * Fixed attachment EOL bug
+ * Updated some unclear documentation
+ * Added additional tests and improved others
+
+Version 1.70 (Mon, Jun 20 2003)
+ * Added SMTP keep-alive support
+ * Added IsError method for error detection
+ * Added error message translation support (SetLanguage)
+ * Refactored many methods to increase library performance
+ * Hello now sends the newer EHLO message before HELO as per RFC 2821
+ * Removed the boundary class and replaced it with GetBoundary
+ * Removed queue support methods
+ * New $Hostname variable
+ * New Message-ID header
+ * Received header reformat
+ * Helo variable default changed to $Hostname
+ * Removed extra spaces in Content-Type definition (#667182)
+ * Return-Path should be set to Sender when set
+ * Adds Q or B encoding to headers when necessary
+ * quoted-encoding should now encode NULs \000
+ * Fixed encoding of body/AltBody (#553370)
+ * Adds "To: undisclosed-recipients:;" when all recipients are hidden (BCC)
+ * Multiple bug fixes
+
+Version 1.65 (Fri, Aug 09 2002)
+ * Fixed non-visible attachment bug (#585097) for Outlook
+ * SMTP connections are now closed after each transaction
+ * Fixed SMTP::Expand return value
+ * Converted SMTP class documentation to phpDocumentor format
+
+Version 1.62 (Wed, Jun 26 2002)
+ * Fixed multi-attach bug
+ * Set proper word wrapping
+ * Reduced memory use with attachments
+ * Added more debugging
+ * Changed documentation to phpDocumentor format
+
+Version 1.60 (Sat, Mar 30 2002)
+ * Sendmail pipe and address patch (Christian Holtje)
+ * Added embedded image and read confirmation support (A. Ognio)
+ * Added unit tests
+ * Added SMTP timeout support (*nix only)
+ * Added possibly temporary PluginDir variable for SMTP class
+ * Added LE message line ending variable
+ * Refactored boundary and attachment code
+ * Eliminated SMTP class warnings
+ * Added SendToQueue method for future queuing support
+
+Version 1.54 (Wed, Dec 19 2001)
+ * Add some queuing support code
+ * Fixed a pesky multi/alt bug
+ * Messages are no longer forced to have "To" addresses
+
+Version 1.50 (Thu, Nov 08 2001)
+ * Fix extra lines when not using SMTP mailer
+ * Set WordWrap variable to int with a zero default
+
+Version 1.47 (Tue, Oct 16 2001)
+ * Fixed Received header code format
+ * Fixed AltBody order error
+ * Fixed alternate port warning
+
+Version 1.45 (Tue, Sep 25 2001)
+ * Added enhanced SMTP debug support
+ * Added support for multiple ports on SMTP
+ * Added Received header for tracing
+ * Fixed AddStringAttachment encoding
+ * Fixed possible header name quote bug
+ * Fixed wordwrap() trim bug
+ * Couple other small bug fixes
+
+Version 1.41 (Wed, Aug 22 2001)
+ * Fixed AltBody bug w/o attachments
+ * Fixed rfc_date() for certain mail servers
+
+Version 1.40 (Sun, Aug 12 2001)
+ * Added multipart/alternative support (AltBody)
+ * Documentation update
+ * Fixed bug in Mercury MTA
+
+Version 1.29 (Fri, Aug 03 2001)
+ * Added AddStringAttachment() method
+ * Added SMTP authentication support
+
+Version 1.28 (Mon, Jul 30 2001)
+ * Fixed a typo in SMTP class
+ * Fixed header issue with Imail (win32) SMTP server
+ * Made fopen() calls for attachments use "rb" to fix win32 error
+
+Version 1.25 (Mon, Jul 02 2001)
+ * Added RFC 822 date fix (Patrice)
+ * Added improved error handling by adding a $ErrorInfo variable
+ * Removed MailerDebug variable (obsolete with new error handler)
+
+Version 1.20 (Mon, Jun 25 2001)
+ * Added quoted-printable encoding (Patrice)
+ * Set Version as public and removed PrintVersion()
+ * Changed phpdoc to only display public variables and methods
+
+Version 1.19 (Thu, Jun 21 2001)
+ * Fixed MS Mail header bug
+ * Added fix for Bcc problem with mail(). *Does not work on Win32*
+ (See PHP bug report: http://www.php.net/bugs.php?id=11616)
+ * mail() no longer passes a fifth parameter when not needed
+
+Version 1.15 (Fri, Jun 15 2001)
+ [Note: these changes contributed by Patrice Fournier]
+ * Changed all remaining \n to \r\n
+ * Bcc: header no longer writen to message except
+ when sent directly to sendmail
+ * Added a small message to non-MIME compliant mail reader
+ * Added Sender variable to change the Sender email
+ used in -f for sendmail/mail and in 'MAIL FROM' for smtp mode
+ * Changed boundary setting to a place it will be set only once
+ * Removed transfer encoding for whole message when using multipart
+ * Message body now uses Encoding in multipart messages
+ * Can set encoding and type to attachments 7bit, 8bit
+ and binary attachment are sent as is, base64 are encoded
+ * Can set Encoding to base64 to send 8 bits body
+ through 7 bits servers
+
+Version 1.10 (Tue, Jun 12 2001)
+ * Fixed win32 mail header bug (printed out headers in message body)
+
+Version 1.09 (Fri, Jun 08 2001)
+ * Changed date header to work with Netscape mail programs
+ * Altered phpdoc documentation
+
+Version 1.08 (Tue, Jun 05 2001)
+ * Added enhanced error-checking
+ * Added phpdoc documentation to source
+
+Version 1.06 (Fri, Jun 01 2001)
+ * Added optional name for file attachments
+
+Version 1.05 (Tue, May 29 2001)
+ * Code cleanup
+ * Eliminated sendmail header warning message
+ * Fixed possible SMTP error
+
+Version 1.03 (Thu, May 24 2001)
+ * Fixed problem where qmail sends out duplicate messages
+
+Version 1.02 (Wed, May 23 2001)
+ * Added multiple recipient and attachment Clear* methods
+ * Added Sendmail public variable
+ * Fixed problem with loading SMTP library multiple times
+
+Version 0.98 (Tue, May 22 2001)
+ * Fixed problem with redundant mail hosts sending out multiple messages
+ * Added additional error handler code
+ * Added AddCustomHeader() function
+ * Added support for Microsoft mail client headers (affects priority)
+ * Fixed small bug with Mailer variable
+ * Added PrintVersion() function
+
+Version 0.92 (Tue, May 15 2001)
+ * Changed file names to class.phpmailer.php and class.smtp.php to match
+ current PHP class trend.
+ * Fixed problem where body not being printed when a message is attached
+ * Several small bug fixes
+
+Version 0.90 (Tue, April 17 2001)
+ * Intial public release
diff --git a/frontend/web/count_form/app/lib/PHPMailer_5.2.4/class.phpmailer.php b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/class.phpmailer.php
new file mode 100644
index 0000000..99c0d78
--- /dev/null
+++ b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/class.phpmailer.php
@@ -0,0 +1,2826 @@
+UseSendmailOptions) ) {
+ $rt = @mail($to, $this->EncodeHeader($this->SecureHeader($subject)), $body, $header);
+ } else {
+ $rt = @mail($to, $this->EncodeHeader($this->SecureHeader($subject)), $body, $header, $params);
+ }
+ return $rt;
+ }
+
+ /**
+ * Outputs debugging info via user-defined method
+ * @param string $str
+ */
+ private function edebug($str) {
+ if ($this->Debugoutput == "error_log") {
+ error_log($str);
+ } else {
+ echo $str;
+ }
+ }
+
+ /**
+ * Constructor
+ * @param boolean $exceptions Should we throw external exceptions?
+ */
+ public function __construct($exceptions = false) {
+ $this->exceptions = ($exceptions == true);
+ }
+
+ /**
+ * Sets message type to HTML.
+ * @param bool $ishtml
+ * @return void
+ */
+ public function IsHTML($ishtml = true) {
+ if ($ishtml) {
+ $this->ContentType = 'text/html';
+ } else {
+ $this->ContentType = 'text/plain';
+ }
+ }
+
+ /**
+ * Sets Mailer to send message using SMTP.
+ * @return void
+ */
+ public function IsSMTP() {
+ $this->Mailer = 'smtp';
+ }
+
+ /**
+ * Sets Mailer to send message using PHP mail() function.
+ * @return void
+ */
+ public function IsMail() {
+ $this->Mailer = 'mail';
+ }
+
+ /**
+ * Sets Mailer to send message using the $Sendmail program.
+ * @return void
+ */
+ public function IsSendmail() {
+ if (!stristr(ini_get('sendmail_path'), 'sendmail')) {
+ $this->Sendmail = '/var/qmail/bin/sendmail';
+ }
+ $this->Mailer = 'sendmail';
+ }
+
+ /**
+ * Sets Mailer to send message using the qmail MTA.
+ * @return void
+ */
+ public function IsQmail() {
+ if (stristr(ini_get('sendmail_path'), 'qmail')) {
+ $this->Sendmail = '/var/qmail/bin/sendmail';
+ }
+ $this->Mailer = 'sendmail';
+ }
+
+ /////////////////////////////////////////////////
+ // METHODS, RECIPIENTS
+ /////////////////////////////////////////////////
+
+ /**
+ * Adds a "To" address.
+ * @param string $address
+ * @param string $name
+ * @return boolean true on success, false if address already used
+ */
+ public function AddAddress($address, $name = '') {
+ return $this->AddAnAddress('to', $address, $name);
+ }
+
+ /**
+ * Adds a "Cc" address.
+ * Note: this function works with the SMTP mailer on win32, not with the "mail" mailer.
+ * @param string $address
+ * @param string $name
+ * @return boolean true on success, false if address already used
+ */
+ public function AddCC($address, $name = '') {
+ return $this->AddAnAddress('cc', $address, $name);
+ }
+
+ /**
+ * Adds a "Bcc" address.
+ * Note: this function works with the SMTP mailer on win32, not with the "mail" mailer.
+ * @param string $address
+ * @param string $name
+ * @return boolean true on success, false if address already used
+ */
+ public function AddBCC($address, $name = '') {
+ return $this->AddAnAddress('bcc', $address, $name);
+ }
+
+ /**
+ * Adds a "Reply-to" address.
+ * @param string $address
+ * @param string $name
+ * @return boolean
+ */
+ public function AddReplyTo($address, $name = '') {
+ return $this->AddAnAddress('Reply-To', $address, $name);
+ }
+
+ /**
+ * Adds an address to one of the recipient arrays
+ * Addresses that have been added already return false, but do not throw exceptions
+ * @param string $kind One of 'to', 'cc', 'bcc', 'ReplyTo'
+ * @param string $address The email address to send to
+ * @param string $name
+ * @throws phpmailerException
+ * @return boolean true on success, false if address already used or invalid in some way
+ * @access protected
+ */
+ protected function AddAnAddress($kind, $address, $name = '') {
+ if (!preg_match('/^(to|cc|bcc|Reply-To)$/', $kind)) {
+ $this->SetError($this->Lang('Invalid recipient array').': '.$kind);
+ if ($this->exceptions) {
+ throw new phpmailerException('Invalid recipient array: ' . $kind);
+ }
+ if ($this->SMTPDebug) {
+ $this->edebug($this->Lang('Invalid recipient array').': '.$kind);
+ }
+ return false;
+ }
+ $address = trim($address);
+ $name = trim(preg_replace('/[\r\n]+/', '', $name)); //Strip breaks and trim
+ if (!$this->ValidateAddress($address)) {
+ $this->SetError($this->Lang('invalid_address').': '. $address);
+ if ($this->exceptions) {
+ throw new phpmailerException($this->Lang('invalid_address').': '.$address);
+ }
+ if ($this->SMTPDebug) {
+ $this->edebug($this->Lang('invalid_address').': '.$address);
+ }
+ return false;
+ }
+ if ($kind != 'Reply-To') {
+ if (!isset($this->all_recipients[strtolower($address)])) {
+ array_push($this->$kind, array($address, $name));
+ $this->all_recipients[strtolower($address)] = true;
+ return true;
+ }
+ } else {
+ if (!array_key_exists(strtolower($address), $this->ReplyTo)) {
+ $this->ReplyTo[strtolower($address)] = array($address, $name);
+ return true;
+ }
+ }
+ return false;
+}
+
+/**
+ * Set the From and FromName properties
+ * @param string $address
+ * @param string $name
+ * @param int $auto Also set Reply-To and Sender
+ * @throws phpmailerException
+ * @return boolean
+ */
+ public function SetFrom($address, $name = '', $auto = 1) {
+ $address = trim($address);
+ $name = trim(preg_replace('/[\r\n]+/', '', $name)); //Strip breaks and trim
+ if (!$this->ValidateAddress($address)) {
+ $this->SetError($this->Lang('invalid_address').': '. $address);
+ if ($this->exceptions) {
+ throw new phpmailerException($this->Lang('invalid_address').': '.$address);
+ }
+ if ($this->SMTPDebug) {
+ $this->edebug($this->Lang('invalid_address').': '.$address);
+ }
+ return false;
+ }
+ $this->From = $address;
+ $this->FromName = $name;
+ if ($auto) {
+ if (empty($this->ReplyTo)) {
+ $this->AddAnAddress('Reply-To', $address, $name);
+ }
+ if (empty($this->Sender)) {
+ $this->Sender = $address;
+ }
+ }
+ return true;
+ }
+
+ /**
+ * Check that a string looks roughly like an email address should
+ * Static so it can be used without instantiation, public so people can overload
+ * Conforms to RFC5322: Uses *correct* regex on which FILTER_VALIDATE_EMAIL is
+ * based; So why not use FILTER_VALIDATE_EMAIL? Because it was broken to
+ * not allow a@b type valid addresses :(
+ * Some Versions of PHP break on the regex though, likely due to PCRE, so use
+ * the older validation method for those users. (http://php.net/manual/en/pcre.installation.php)
+ * @link http://squiloople.com/2009/12/20/email-address-validation/
+ * @copyright regex Copyright Michael Rushton 2009-10 | http://squiloople.com/ | Feel free to use and redistribute this code. But please keep this copyright notice.
+ * @param string $address The email address to check
+ * @return boolean
+ * @static
+ * @access public
+ */
+ public static function ValidateAddress($address) {
+ if ((defined('PCRE_VERSION')) && (version_compare(PCRE_VERSION, '8.0') >= 0)) {
+ return preg_match('/^(?!(?>(?1)"?(?>\\\[ -~]|[^"])"?(?1)){255,})(?!(?>(?1)"?(?>\\\[ -~]|[^"])"?(?1)){65,}@)((?>(?>(?>((?>(?>(?>\x0D\x0A)?[ ])+|(?>[ ]*\x0D\x0A)?[ ]+)?)(\((?>(?2)(?>[\x01-\x08\x0B\x0C\x0E-\'*-\[\]-\x7F]|\\\[\x00-\x7F]|(?3)))*(?2)\)))+(?2))|(?2))?)([!#-\'*+\/-9=?^-~-]+|"(?>(?2)(?>[\x01-\x08\x0B\x0C\x0E-!#-\[\]-\x7F]|\\\[\x00-\x7F]))*(?2)")(?>(?1)\.(?1)(?4))*(?1)@(?!(?1)[a-z0-9-]{64,})(?1)(?>([a-z0-9](?>[a-z0-9-]*[a-z0-9])?)(?>(?1)\.(?!(?1)[a-z0-9-]{64,})(?1)(?5)){0,126}|\[(?:(?>IPv6:(?>([a-f0-9]{1,4})(?>:(?6)){7}|(?!(?:.*[a-f0-9][:\]]){7,})((?6)(?>:(?6)){0,5})?::(?7)?))|(?>(?>IPv6:(?>(?6)(?>:(?6)){5}:|(?!(?:.*[a-f0-9]:){5,})(?8)?::(?>((?6)(?>:(?6)){0,3}):)?))?(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])(?>\.(?9)){3}))\])(?1)$/isD', $address);
+ } elseif (function_exists('filter_var')) { //Introduced in PHP 5.2
+ if(filter_var($address, FILTER_VALIDATE_EMAIL) === FALSE) {
+ return false;
+ } else {
+ return true;
+ }
+ } else {
+ return preg_match('/^(?:[\w\!\#\$\%\&\'\*\+\-\/\=\?\^\`\{\|\}\~]+\.)*[\w\!\#\$\%\&\'\*\+\-\/\=\?\^\`\{\|\}\~]+@(?:(?:(?:[a-zA-Z0-9_](?:[a-zA-Z0-9_\-](?!\.)){0,61}[a-zA-Z0-9_-]?\.)+[a-zA-Z0-9_](?:[a-zA-Z0-9_\-](?!$)){0,61}[a-zA-Z0-9_]?)|(?:\[(?:(?:[01]?\d{1,2}|2[0-4]\d|25[0-5])\.){3}(?:[01]?\d{1,2}|2[0-4]\d|25[0-5])\]))$/', $address);
+ }
+ }
+
+ /////////////////////////////////////////////////
+ // METHODS, MAIL SENDING
+ /////////////////////////////////////////////////
+
+ /**
+ * Creates message and assigns Mailer. If the message is
+ * not sent successfully then it returns false. Use the ErrorInfo
+ * variable to view description of the error.
+ * @throws phpmailerException
+ * @return bool
+ */
+ public function Send() {
+ try {
+ if(!$this->PreSend()) return false;
+ return $this->PostSend();
+ } catch (phpmailerException $e) {
+ $this->mailHeader = '';
+ $this->SetError($e->getMessage());
+ if ($this->exceptions) {
+ throw $e;
+ }
+ return false;
+ }
+ }
+
+ /**
+ * Prep mail by constructing all message entities
+ * @throws phpmailerException
+ * @return bool
+ */
+ public function PreSend() {
+ try {
+ $this->mailHeader = "";
+ if ((count($this->to) + count($this->cc) + count($this->bcc)) < 1) {
+ throw new phpmailerException($this->Lang('provide_address'), self::STOP_CRITICAL);
+ }
+
+ // Set whether the message is multipart/alternative
+ if(!empty($this->AltBody)) {
+ $this->ContentType = 'multipart/alternative';
+ }
+
+ $this->error_count = 0; // reset errors
+ $this->SetMessageType();
+ //Refuse to send an empty message
+ if (empty($this->Body)) {
+ throw new phpmailerException($this->Lang('empty_message'), self::STOP_CRITICAL);
+ }
+
+ $this->MIMEHeader = $this->CreateHeader();
+ $this->MIMEBody = $this->CreateBody();
+
+ // To capture the complete message when using mail(), create
+ // an extra header list which CreateHeader() doesn't fold in
+ if ($this->Mailer == 'mail') {
+ if (count($this->to) > 0) {
+ $this->mailHeader .= $this->AddrAppend("To", $this->to);
+ } else {
+ $this->mailHeader .= $this->HeaderLine("To", "undisclosed-recipients:;");
+ }
+ $this->mailHeader .= $this->HeaderLine('Subject', $this->EncodeHeader($this->SecureHeader(trim($this->Subject))));
+ // if(count($this->cc) > 0) {
+ // $this->mailHeader .= $this->AddrAppend("Cc", $this->cc);
+ // }
+ }
+
+ // digitally sign with DKIM if enabled
+ if (!empty($this->DKIM_domain) && !empty($this->DKIM_private) && !empty($this->DKIM_selector) && !empty($this->DKIM_domain) && file_exists($this->DKIM_private)) {
+ $header_dkim = $this->DKIM_Add($this->MIMEHeader, $this->EncodeHeader($this->SecureHeader($this->Subject)), $this->MIMEBody);
+ $this->MIMEHeader = str_replace("\r\n", "\n", $header_dkim) . $this->MIMEHeader;
+ }
+
+ return true;
+
+ } catch (phpmailerException $e) {
+ $this->SetError($e->getMessage());
+ if ($this->exceptions) {
+ throw $e;
+ }
+ return false;
+ }
+ }
+
+ /**
+ * Actual Email transport function
+ * Send the email via the selected mechanism
+ * @throws phpmailerException
+ * @return bool
+ */
+ public function PostSend() {
+ try {
+ // Choose the mailer and send through it
+ switch($this->Mailer) {
+ case 'sendmail':
+ return $this->SendmailSend($this->MIMEHeader, $this->MIMEBody);
+ case 'smtp':
+ return $this->SmtpSend($this->MIMEHeader, $this->MIMEBody);
+ case 'mail':
+ return $this->MailSend($this->MIMEHeader, $this->MIMEBody);
+ default:
+ return $this->MailSend($this->MIMEHeader, $this->MIMEBody);
+ }
+ } catch (phpmailerException $e) {
+ $this->SetError($e->getMessage());
+ if ($this->exceptions) {
+ throw $e;
+ }
+ if ($this->SMTPDebug) {
+ $this->edebug($e->getMessage()."\n");
+ }
+ }
+ return false;
+ }
+
+ /**
+ * Sends mail using the $Sendmail program.
+ * @param string $header The message headers
+ * @param string $body The message body
+ * @throws phpmailerException
+ * @access protected
+ * @return bool
+ */
+ protected function SendmailSend($header, $body) {
+ if ($this->Sender != '') {
+ $sendmail = sprintf("%s -oi -f%s -t", escapeshellcmd($this->Sendmail), escapeshellarg($this->Sender));
+ } else {
+ $sendmail = sprintf("%s -oi -t", escapeshellcmd($this->Sendmail));
+ }
+ if ($this->SingleTo === true) {
+ foreach ($this->SingleToArray as $val) {
+ if(!@$mail = popen($sendmail, 'w')) {
+ throw new phpmailerException($this->Lang('execute') . $this->Sendmail, self::STOP_CRITICAL);
+ }
+ fputs($mail, "To: " . $val . "\n");
+ fputs($mail, $header);
+ fputs($mail, $body);
+ $result = pclose($mail);
+ // implement call back function if it exists
+ $isSent = ($result == 0) ? 1 : 0;
+ $this->doCallback($isSent, $val, $this->cc, $this->bcc, $this->Subject, $body);
+ if($result != 0) {
+ throw new phpmailerException($this->Lang('execute') . $this->Sendmail, self::STOP_CRITICAL);
+ }
+ }
+ } else {
+ if(!@$mail = popen($sendmail, 'w')) {
+ throw new phpmailerException($this->Lang('execute') . $this->Sendmail, self::STOP_CRITICAL);
+ }
+ fputs($mail, $header);
+ fputs($mail, $body);
+ $result = pclose($mail);
+ // implement call back function if it exists
+ $isSent = ($result == 0) ? 1 : 0;
+ $this->doCallback($isSent, $this->to, $this->cc, $this->bcc, $this->Subject, $body);
+ if($result != 0) {
+ throw new phpmailerException($this->Lang('execute') . $this->Sendmail, self::STOP_CRITICAL);
+ }
+ }
+ return true;
+ }
+
+ /**
+ * Sends mail using the PHP mail() function.
+ * @param string $header The message headers
+ * @param string $body The message body
+ * @throws phpmailerException
+ * @access protected
+ * @return bool
+ */
+ protected function MailSend($header, $body) {
+ $toArr = array();
+ foreach($this->to as $t) {
+ $toArr[] = $this->AddrFormat($t);
+ }
+ $to = implode(', ', $toArr);
+
+ if (empty($this->Sender)) {
+ $params = "-oi ";
+ } else {
+ $params = sprintf("-oi -f%s", $this->Sender);
+ }
+ if ($this->Sender != '' and !ini_get('safe_mode')) {
+ $old_from = ini_get('sendmail_from');
+ ini_set('sendmail_from', $this->Sender);
+ }
+ $rt = false;
+ if ($this->SingleTo === true && count($toArr) > 1) {
+ foreach ($toArr as $val) {
+ $rt = $this->mail_passthru($val, $this->Subject, $body, $header, $params);
+ // implement call back function if it exists
+ $isSent = ($rt == 1) ? 1 : 0;
+ $this->doCallback($isSent, $val, $this->cc, $this->bcc, $this->Subject, $body);
+ }
+ } else {
+ $rt = $this->mail_passthru($to, $this->Subject, $body, $header, $params);
+ // implement call back function if it exists
+ $isSent = ($rt == 1) ? 1 : 0;
+ $this->doCallback($isSent, $to, $this->cc, $this->bcc, $this->Subject, $body);
+ }
+ if (isset($old_from)) {
+ ini_set('sendmail_from', $old_from);
+ }
+ if(!$rt) {
+ throw new phpmailerException($this->Lang('instantiate'), self::STOP_CRITICAL);
+ }
+ return true;
+ }
+
+ /**
+ * Sends mail via SMTP using PhpSMTP
+ * Returns false if there is a bad MAIL FROM, RCPT, or DATA input.
+ * @param string $header The message headers
+ * @param string $body The message body
+ * @throws phpmailerException
+ * @uses SMTP
+ * @access protected
+ * @return bool
+ */
+ protected function SmtpSend($header, $body) {
+ require_once $this->PluginDir . 'class.smtp.php';
+ $bad_rcpt = array();
+
+ if(!$this->SmtpConnect()) {
+ throw new phpmailerException($this->Lang('smtp_connect_failed'), self::STOP_CRITICAL);
+ }
+ $smtp_from = ($this->Sender == '') ? $this->From : $this->Sender;
+ if(!$this->smtp->Mail($smtp_from)) {
+ $this->SetError($this->Lang('from_failed') . $smtp_from . " : " . implode(",",$this->smtp->getError())) ;
+ throw new phpmailerException($this->ErrorInfo, self::STOP_CRITICAL);
+ }
+
+ // Attempt to send attach all recipients
+ foreach($this->to as $to) {
+ if (!$this->smtp->Recipient($to[0])) {
+ $bad_rcpt[] = $to[0];
+ // implement call back function if it exists
+ $isSent = 0;
+ $this->doCallback($isSent, $to[0], '', '', $this->Subject, $body);
+ } else {
+ // implement call back function if it exists
+ $isSent = 1;
+ $this->doCallback($isSent, $to[0], '', '', $this->Subject, $body);
+ }
+ }
+ foreach($this->cc as $cc) {
+ if (!$this->smtp->Recipient($cc[0])) {
+ $bad_rcpt[] = $cc[0];
+ // implement call back function if it exists
+ $isSent = 0;
+ $this->doCallback($isSent, '', $cc[0], '', $this->Subject, $body);
+ } else {
+ // implement call back function if it exists
+ $isSent = 1;
+ $this->doCallback($isSent, '', $cc[0], '', $this->Subject, $body);
+ }
+ }
+ foreach($this->bcc as $bcc) {
+ if (!$this->smtp->Recipient($bcc[0])) {
+ $bad_rcpt[] = $bcc[0];
+ // implement call back function if it exists
+ $isSent = 0;
+ $this->doCallback($isSent, '', '', $bcc[0], $this->Subject, $body);
+ } else {
+ // implement call back function if it exists
+ $isSent = 1;
+ $this->doCallback($isSent, '', '', $bcc[0], $this->Subject, $body);
+ }
+ }
+
+
+ if (count($bad_rcpt) > 0 ) { //Create error message for any bad addresses
+ $badaddresses = implode(', ', $bad_rcpt);
+ throw new phpmailerException($this->Lang('recipients_failed') . $badaddresses);
+ }
+ if(!$this->smtp->Data($header . $body)) {
+ throw new phpmailerException($this->Lang('data_not_accepted'), self::STOP_CRITICAL);
+ }
+ if($this->SMTPKeepAlive == true) {
+ $this->smtp->Reset();
+ } else {
+ $this->smtp->Quit();
+ $this->smtp->Close();
+ }
+ return true;
+ }
+
+ /**
+ * Initiates a connection to an SMTP server.
+ * Returns false if the operation failed.
+ * @uses SMTP
+ * @access public
+ * @throws phpmailerException
+ * @return bool
+ */
+ public function SmtpConnect() {
+ if(is_null($this->smtp)) {
+ $this->smtp = new SMTP;
+ }
+
+ $this->smtp->Timeout = $this->Timeout;
+ $this->smtp->do_debug = $this->SMTPDebug;
+ $hosts = explode(';', $this->Host);
+ $index = 0;
+ $connection = $this->smtp->Connected();
+
+ // Retry while there is no connection
+ try {
+ while($index < count($hosts) && !$connection) {
+ $hostinfo = array();
+ if (preg_match('/^(.+):([0-9]+)$/', $hosts[$index], $hostinfo)) {
+ $host = $hostinfo[1];
+ $port = $hostinfo[2];
+ } else {
+ $host = $hosts[$index];
+ $port = $this->Port;
+ }
+
+ $tls = ($this->SMTPSecure == 'tls');
+ $ssl = ($this->SMTPSecure == 'ssl');
+
+ if ($this->smtp->Connect(($ssl ? 'ssl://':'').$host, $port, $this->Timeout)) {
+
+ $hello = ($this->Helo != '' ? $this->Helo : $this->ServerHostname());
+ $this->smtp->Hello($hello);
+
+ if ($tls) {
+ if (!$this->smtp->StartTLS()) {
+ throw new phpmailerException($this->Lang('connect_host'));
+ }
+
+ //We must resend HELO after tls negotiation
+ $this->smtp->Hello($hello);
+ }
+
+ $connection = true;
+ if ($this->SMTPAuth) {
+ if (!$this->smtp->Authenticate($this->Username, $this->Password, $this->AuthType,
+ $this->Realm, $this->Workstation)) {
+ throw new phpmailerException($this->Lang('authenticate'));
+ }
+ }
+ }
+ $index++;
+ if (!$connection) {
+ throw new phpmailerException($this->Lang('connect_host'));
+ }
+ }
+ } catch (phpmailerException $e) {
+ $this->smtp->Reset();
+ if ($this->exceptions) {
+ throw $e;
+ }
+ }
+ return true;
+ }
+
+ /**
+ * Closes the active SMTP session if one exists.
+ * @return void
+ */
+ public function SmtpClose() {
+ if ($this->smtp !== null) {
+ if($this->smtp->Connected()) {
+ $this->smtp->Quit();
+ $this->smtp->Close();
+ }
+ }
+ }
+
+ /**
+ * Sets the language for all class error messages.
+ * Returns false if it cannot load the language file. The default language is English.
+ * @param string $langcode ISO 639-1 2-character language code (e.g. Portuguese: "br")
+ * @param string $lang_path Path to the language file directory
+ * @return bool
+ * @access public
+ */
+ function SetLanguage($langcode = 'en', $lang_path = 'language/') {
+ //Define full set of translatable strings
+ $PHPMAILER_LANG = array(
+ 'authenticate' => 'SMTP Error: Could not authenticate.',
+ 'connect_host' => 'SMTP Error: Could not connect to SMTP host.',
+ 'data_not_accepted' => 'SMTP Error: Data not accepted.',
+ 'empty_message' => 'Message body empty',
+ 'encoding' => 'Unknown encoding: ',
+ 'execute' => 'Could not execute: ',
+ 'file_access' => 'Could not access file: ',
+ 'file_open' => 'File Error: Could not open file: ',
+ 'from_failed' => 'The following From address failed: ',
+ 'instantiate' => 'Could not instantiate mail function.',
+ 'invalid_address' => 'Invalid address',
+ 'mailer_not_supported' => ' mailer is not supported.',
+ 'provide_address' => 'You must provide at least one recipient email address.',
+ 'recipients_failed' => 'SMTP Error: The following recipients failed: ',
+ 'signing' => 'Signing Error: ',
+ 'smtp_connect_failed' => 'SMTP Connect() failed.',
+ 'smtp_error' => 'SMTP server error: ',
+ 'variable_set' => 'Cannot set or reset variable: '
+ );
+ //Overwrite language-specific strings. This way we'll never have missing translations - no more "language string failed to load"!
+ $l = true;
+ if ($langcode != 'en') { //There is no English translation file
+ $l = @include $lang_path.'phpmailer.lang-'.$langcode.'.php';
+ }
+ $this->language = $PHPMAILER_LANG;
+ return ($l == true); //Returns false if language not found
+ }
+
+ /**
+ * Return the current array of language strings
+ * @return array
+ */
+ public function GetTranslations() {
+ return $this->language;
+ }
+
+ /////////////////////////////////////////////////
+ // METHODS, MESSAGE CREATION
+ /////////////////////////////////////////////////
+
+ /**
+ * Creates recipient headers.
+ * @access public
+ * @param string $type
+ * @param array $addr
+ * @return string
+ */
+ public function AddrAppend($type, $addr) {
+ $addr_str = $type . ': ';
+ $addresses = array();
+ foreach ($addr as $a) {
+ $addresses[] = $this->AddrFormat($a);
+ }
+ $addr_str .= implode(', ', $addresses);
+ $addr_str .= $this->LE;
+
+ return $addr_str;
+ }
+
+ /**
+ * Formats an address correctly.
+ * @access public
+ * @param string $addr
+ * @return string
+ */
+ public function AddrFormat($addr) {
+ if (empty($addr[1])) {
+ return $this->SecureHeader($addr[0]);
+ } else {
+ return $this->EncodeHeader($this->SecureHeader($addr[1]), 'phrase') . " <" . $this->SecureHeader($addr[0]) . ">";
+ }
+ }
+
+ /**
+ * Wraps message for use with mailers that do not
+ * automatically perform wrapping and for quoted-printable.
+ * Original written by philippe.
+ * @param string $message The message to wrap
+ * @param integer $length The line length to wrap to
+ * @param boolean $qp_mode Whether to run in Quoted-Printable mode
+ * @access public
+ * @return string
+ */
+ public function WrapText($message, $length, $qp_mode = false) {
+ $soft_break = ($qp_mode) ? sprintf(" =%s", $this->LE) : $this->LE;
+ // If utf-8 encoding is used, we will need to make sure we don't
+ // split multibyte characters when we wrap
+ $is_utf8 = (strtolower($this->CharSet) == "utf-8");
+ $lelen = strlen($this->LE);
+ $crlflen = strlen(self::CRLF);
+
+ $message = $this->FixEOL($message);
+ if (substr($message, -$lelen) == $this->LE) {
+ $message = substr($message, 0, -$lelen);
+ }
+
+ $line = explode($this->LE, $message); // Magic. We know FixEOL uses $LE
+ $message = '';
+ for ($i = 0 ;$i < count($line); $i++) {
+ $line_part = explode(' ', $line[$i]);
+ $buf = '';
+ for ($e = 0; $e $length)) {
+ $space_left = $length - strlen($buf) - $crlflen;
+ if ($e != 0) {
+ if ($space_left > 20) {
+ $len = $space_left;
+ if ($is_utf8) {
+ $len = $this->UTF8CharBoundary($word, $len);
+ } elseif (substr($word, $len - 1, 1) == "=") {
+ $len--;
+ } elseif (substr($word, $len - 2, 1) == "=") {
+ $len -= 2;
+ }
+ $part = substr($word, 0, $len);
+ $word = substr($word, $len);
+ $buf .= ' ' . $part;
+ $message .= $buf . sprintf("=%s", self::CRLF);
+ } else {
+ $message .= $buf . $soft_break;
+ }
+ $buf = '';
+ }
+ while (strlen($word) > 0) {
+ $len = $length;
+ if ($is_utf8) {
+ $len = $this->UTF8CharBoundary($word, $len);
+ } elseif (substr($word, $len - 1, 1) == "=") {
+ $len--;
+ } elseif (substr($word, $len - 2, 1) == "=") {
+ $len -= 2;
+ }
+ $part = substr($word, 0, $len);
+ $word = substr($word, $len);
+
+ if (strlen($word) > 0) {
+ $message .= $part . sprintf("=%s", self::CRLF);
+ } else {
+ $buf = $part;
+ }
+ }
+ } else {
+ $buf_o = $buf;
+ $buf .= ($e == 0) ? $word : (' ' . $word);
+
+ if (strlen($buf) > $length and $buf_o != '') {
+ $message .= $buf_o . $soft_break;
+ $buf = $word;
+ }
+ }
+ }
+ $message .= $buf . self::CRLF;
+ }
+
+ return $message;
+ }
+
+ /**
+ * Finds last character boundary prior to maxLength in a utf-8
+ * quoted (printable) encoded string.
+ * Original written by Colin Brown.
+ * @access public
+ * @param string $encodedText utf-8 QP text
+ * @param int $maxLength find last character boundary prior to this length
+ * @return int
+ */
+ public function UTF8CharBoundary($encodedText, $maxLength) {
+ $foundSplitPos = false;
+ $lookBack = 3;
+ while (!$foundSplitPos) {
+ $lastChunk = substr($encodedText, $maxLength - $lookBack, $lookBack);
+ $encodedCharPos = strpos($lastChunk, "=");
+ if ($encodedCharPos !== false) {
+ // Found start of encoded character byte within $lookBack block.
+ // Check the encoded byte value (the 2 chars after the '=')
+ $hex = substr($encodedText, $maxLength - $lookBack + $encodedCharPos + 1, 2);
+ $dec = hexdec($hex);
+ if ($dec < 128) { // Single byte character.
+ // If the encoded char was found at pos 0, it will fit
+ // otherwise reduce maxLength to start of the encoded char
+ $maxLength = ($encodedCharPos == 0) ? $maxLength :
+ $maxLength - ($lookBack - $encodedCharPos);
+ $foundSplitPos = true;
+ } elseif ($dec >= 192) { // First byte of a multi byte character
+ // Reduce maxLength to split at start of character
+ $maxLength = $maxLength - ($lookBack - $encodedCharPos);
+ $foundSplitPos = true;
+ } elseif ($dec < 192) { // Middle byte of a multi byte character, look further back
+ $lookBack += 3;
+ }
+ } else {
+ // No encoded character found
+ $foundSplitPos = true;
+ }
+ }
+ return $maxLength;
+ }
+
+
+ /**
+ * Set the body wrapping.
+ * @access public
+ * @return void
+ */
+ public function SetWordWrap() {
+ if($this->WordWrap < 1) {
+ return;
+ }
+
+ switch($this->message_type) {
+ case 'alt':
+ case 'alt_inline':
+ case 'alt_attach':
+ case 'alt_inline_attach':
+ $this->AltBody = $this->WrapText($this->AltBody, $this->WordWrap);
+ break;
+ default:
+ $this->Body = $this->WrapText($this->Body, $this->WordWrap);
+ break;
+ }
+ }
+
+ /**
+ * Assembles message header.
+ * @access public
+ * @return string The assembled header
+ */
+ public function CreateHeader() {
+ $result = '';
+
+ // Set the boundaries
+ $uniq_id = md5(uniqid(time()));
+ $this->boundary[1] = 'b1_' . $uniq_id;
+ $this->boundary[2] = 'b2_' . $uniq_id;
+ $this->boundary[3] = 'b3_' . $uniq_id;
+
+ if ($this->MessageDate == '') {
+ $result .= $this->HeaderLine('Date', self::RFCDate());
+ } else {
+ $result .= $this->HeaderLine('Date', $this->MessageDate);
+ }
+
+ if ($this->ReturnPath) {
+ $result .= $this->HeaderLine('Return-Path', trim($this->ReturnPath));
+ } elseif ($this->Sender == '') {
+ $result .= $this->HeaderLine('Return-Path', trim($this->From));
+ } else {
+ $result .= $this->HeaderLine('Return-Path', trim($this->Sender));
+ }
+
+ // To be created automatically by mail()
+ if($this->Mailer != 'mail') {
+ if ($this->SingleTo === true) {
+ foreach($this->to as $t) {
+ $this->SingleToArray[] = $this->AddrFormat($t);
+ }
+ } else {
+ if(count($this->to) > 0) {
+ $result .= $this->AddrAppend('To', $this->to);
+ } elseif (count($this->cc) == 0) {
+ $result .= $this->HeaderLine('To', 'undisclosed-recipients:;');
+ }
+ }
+ }
+
+ $from = array();
+ $from[0][0] = trim($this->From);
+ $from[0][1] = $this->FromName;
+ $result .= $this->AddrAppend('From', $from);
+
+ // sendmail and mail() extract Cc from the header before sending
+ if(count($this->cc) > 0) {
+ $result .= $this->AddrAppend('Cc', $this->cc);
+ }
+
+ // sendmail and mail() extract Bcc from the header before sending
+ if((($this->Mailer == 'sendmail') || ($this->Mailer == 'mail')) && (count($this->bcc) > 0)) {
+ $result .= $this->AddrAppend('Bcc', $this->bcc);
+ }
+
+ if(count($this->ReplyTo) > 0) {
+ $result .= $this->AddrAppend('Reply-To', $this->ReplyTo);
+ }
+
+ // mail() sets the subject itself
+ if($this->Mailer != 'mail') {
+ $result .= $this->HeaderLine('Subject', $this->EncodeHeader($this->SecureHeader($this->Subject)));
+ }
+
+ if($this->MessageID != '') {
+ $result .= $this->HeaderLine('Message-ID', $this->MessageID);
+ } else {
+ $result .= sprintf("Message-ID: <%s@%s>%s", $uniq_id, $this->ServerHostname(), $this->LE);
+ }
+ $result .= $this->HeaderLine('X-Priority', $this->Priority);
+ if ($this->XMailer == '') {
+ $result .= $this->HeaderLine('X-Mailer', 'PHPMailer '.$this->Version.' (http://code.google.com/a/apache-extras.org/p/phpmailer/)');
+ } else {
+ $myXmailer = trim($this->XMailer);
+ if ($myXmailer) {
+ $result .= $this->HeaderLine('X-Mailer', $myXmailer);
+ }
+ }
+
+ if($this->ConfirmReadingTo != '') {
+ $result .= $this->HeaderLine('Disposition-Notification-To', '<' . trim($this->ConfirmReadingTo) . '>');
+ }
+
+ // Add custom headers
+ for($index = 0; $index < count($this->CustomHeader); $index++) {
+ $result .= $this->HeaderLine(trim($this->CustomHeader[$index][0]), $this->EncodeHeader(trim($this->CustomHeader[$index][1])));
+ }
+ if (!$this->sign_key_file) {
+ $result .= $this->HeaderLine('MIME-Version', '1.0');
+ $result .= $this->GetMailMIME();
+ }
+
+ return $result;
+ }
+
+ /**
+ * Returns the message MIME.
+ * @access public
+ * @return string
+ */
+ public function GetMailMIME() {
+ $result = '';
+ switch($this->message_type) {
+ case 'inline':
+ $result .= $this->HeaderLine('Content-Type', 'multipart/related;');
+ $result .= $this->TextLine("\tboundary=\"" . $this->boundary[1] . '"');
+ break;
+ case 'attach':
+ case 'inline_attach':
+ case 'alt_attach':
+ case 'alt_inline_attach':
+ $result .= $this->HeaderLine('Content-Type', 'multipart/mixed;');
+ $result .= $this->TextLine("\tboundary=\"" . $this->boundary[1] . '"');
+ break;
+ case 'alt':
+ case 'alt_inline':
+ $result .= $this->HeaderLine('Content-Type', 'multipart/alternative;');
+ $result .= $this->TextLine("\tboundary=\"" . $this->boundary[1] . '"');
+ break;
+ default:
+ // Catches case 'plain': and case '':
+ $result .= $this->HeaderLine('Content-Transfer-Encoding', $this->Encoding);
+ $result .= $this->TextLine('Content-Type: '.$this->ContentType.'; charset='.$this->CharSet);
+ break;
+ }
+
+ if($this->Mailer != 'mail') {
+ $result .= $this->LE;
+ }
+
+ return $result;
+ }
+
+ /**
+ * Returns the MIME message (headers and body). Only really valid post PreSend().
+ * @access public
+ * @return string
+ */
+ public function GetSentMIMEMessage() {
+ return $this->MIMEHeader . $this->mailHeader . self::CRLF . $this->MIMEBody;
+ }
+
+
+ /**
+ * Assembles the message body. Returns an empty string on failure.
+ * @access public
+ * @throws phpmailerException
+ * @return string The assembled message body
+ */
+ public function CreateBody() {
+ $body = '';
+
+ if ($this->sign_key_file) {
+ $body .= $this->GetMailMIME().$this->LE;
+ }
+
+ $this->SetWordWrap();
+
+ switch($this->message_type) {
+ case 'inline':
+ $body .= $this->GetBoundary($this->boundary[1], '', '', '');
+ $body .= $this->EncodeString($this->Body, $this->Encoding);
+ $body .= $this->LE.$this->LE;
+ $body .= $this->AttachAll("inline", $this->boundary[1]);
+ break;
+ case 'attach':
+ $body .= $this->GetBoundary($this->boundary[1], '', '', '');
+ $body .= $this->EncodeString($this->Body, $this->Encoding);
+ $body .= $this->LE.$this->LE;
+ $body .= $this->AttachAll("attachment", $this->boundary[1]);
+ break;
+ case 'inline_attach':
+ $body .= $this->TextLine("--" . $this->boundary[1]);
+ $body .= $this->HeaderLine('Content-Type', 'multipart/related;');
+ $body .= $this->TextLine("\tboundary=\"" . $this->boundary[2] . '"');
+ $body .= $this->LE;
+ $body .= $this->GetBoundary($this->boundary[2], '', '', '');
+ $body .= $this->EncodeString($this->Body, $this->Encoding);
+ $body .= $this->LE.$this->LE;
+ $body .= $this->AttachAll("inline", $this->boundary[2]);
+ $body .= $this->LE;
+ $body .= $this->AttachAll("attachment", $this->boundary[1]);
+ break;
+ case 'alt':
+ $body .= $this->GetBoundary($this->boundary[1], '', 'text/plain', '');
+ $body .= $this->EncodeString($this->AltBody, $this->Encoding);
+ $body .= $this->LE.$this->LE;
+ $body .= $this->GetBoundary($this->boundary[1], '', 'text/html', '');
+ $body .= $this->EncodeString($this->Body, $this->Encoding);
+ $body .= $this->LE.$this->LE;
+ $body .= $this->EndBoundary($this->boundary[1]);
+ break;
+ case 'alt_inline':
+ $body .= $this->GetBoundary($this->boundary[1], '', 'text/plain', '');
+ $body .= $this->EncodeString($this->AltBody, $this->Encoding);
+ $body .= $this->LE.$this->LE;
+ $body .= $this->TextLine("--" . $this->boundary[1]);
+ $body .= $this->HeaderLine('Content-Type', 'multipart/related;');
+ $body .= $this->TextLine("\tboundary=\"" . $this->boundary[2] . '"');
+ $body .= $this->LE;
+ $body .= $this->GetBoundary($this->boundary[2], '', 'text/html', '');
+ $body .= $this->EncodeString($this->Body, $this->Encoding);
+ $body .= $this->LE.$this->LE;
+ $body .= $this->AttachAll("inline", $this->boundary[2]);
+ $body .= $this->LE;
+ $body .= $this->EndBoundary($this->boundary[1]);
+ break;
+ case 'alt_attach':
+ $body .= $this->TextLine("--" . $this->boundary[1]);
+ $body .= $this->HeaderLine('Content-Type', 'multipart/alternative;');
+ $body .= $this->TextLine("\tboundary=\"" . $this->boundary[2] . '"');
+ $body .= $this->LE;
+ $body .= $this->GetBoundary($this->boundary[2], '', 'text/plain', '');
+ $body .= $this->EncodeString($this->AltBody, $this->Encoding);
+ $body .= $this->LE.$this->LE;
+ $body .= $this->GetBoundary($this->boundary[2], '', 'text/html', '');
+ $body .= $this->EncodeString($this->Body, $this->Encoding);
+ $body .= $this->LE.$this->LE;
+ $body .= $this->EndBoundary($this->boundary[2]);
+ $body .= $this->LE;
+ $body .= $this->AttachAll("attachment", $this->boundary[1]);
+ break;
+ case 'alt_inline_attach':
+ $body .= $this->TextLine("--" . $this->boundary[1]);
+ $body .= $this->HeaderLine('Content-Type', 'multipart/alternative;');
+ $body .= $this->TextLine("\tboundary=\"" . $this->boundary[2] . '"');
+ $body .= $this->LE;
+ $body .= $this->GetBoundary($this->boundary[2], '', 'text/plain', '');
+ $body .= $this->EncodeString($this->AltBody, $this->Encoding);
+ $body .= $this->LE.$this->LE;
+ $body .= $this->TextLine("--" . $this->boundary[2]);
+ $body .= $this->HeaderLine('Content-Type', 'multipart/related;');
+ $body .= $this->TextLine("\tboundary=\"" . $this->boundary[3] . '"');
+ $body .= $this->LE;
+ $body .= $this->GetBoundary($this->boundary[3], '', 'text/html', '');
+ $body .= $this->EncodeString($this->Body, $this->Encoding);
+ $body .= $this->LE.$this->LE;
+ $body .= $this->AttachAll("inline", $this->boundary[3]);
+ $body .= $this->LE;
+ $body .= $this->EndBoundary($this->boundary[2]);
+ $body .= $this->LE;
+ $body .= $this->AttachAll("attachment", $this->boundary[1]);
+ break;
+ default:
+ // catch case 'plain' and case ''
+ $body .= $this->EncodeString($this->Body, $this->Encoding);
+ break;
+ }
+
+ if ($this->IsError()) {
+ $body = '';
+ } elseif ($this->sign_key_file) {
+ try {
+ $file = tempnam('', 'mail');
+ file_put_contents($file, $body); //TODO check this worked
+ $signed = tempnam("", "signed");
+ if (@openssl_pkcs7_sign($file, $signed, "file://".$this->sign_cert_file, array("file://".$this->sign_key_file, $this->sign_key_pass), NULL)) {
+ @unlink($file);
+ $body = file_get_contents($signed);
+ @unlink($signed);
+ } else {
+ @unlink($file);
+ @unlink($signed);
+ throw new phpmailerException($this->Lang("signing").openssl_error_string());
+ }
+ } catch (phpmailerException $e) {
+ $body = '';
+ if ($this->exceptions) {
+ throw $e;
+ }
+ }
+ }
+
+ return $body;
+ }
+
+ /**
+ * Returns the start of a message boundary.
+ * @access protected
+ * @param string $boundary
+ * @param string $charSet
+ * @param string $contentType
+ * @param string $encoding
+ * @return string
+ */
+ protected function GetBoundary($boundary, $charSet, $contentType, $encoding) {
+ $result = '';
+ if($charSet == '') {
+ $charSet = $this->CharSet;
+ }
+ if($contentType == '') {
+ $contentType = $this->ContentType;
+ }
+ if($encoding == '') {
+ $encoding = $this->Encoding;
+ }
+ $result .= $this->TextLine('--' . $boundary);
+ $result .= sprintf("Content-Type: %s; charset=%s", $contentType, $charSet);
+ $result .= $this->LE;
+ $result .= $this->HeaderLine('Content-Transfer-Encoding', $encoding);
+ $result .= $this->LE;
+
+ return $result;
+ }
+
+ /**
+ * Returns the end of a message boundary.
+ * @access protected
+ * @param string $boundary
+ * @return string
+ */
+ protected function EndBoundary($boundary) {
+ return $this->LE . '--' . $boundary . '--' . $this->LE;
+ }
+
+ /**
+ * Sets the message type.
+ * @access protected
+ * @return void
+ */
+ protected function SetMessageType() {
+ $this->message_type = array();
+ if($this->AlternativeExists()) $this->message_type[] = "alt";
+ if($this->InlineImageExists()) $this->message_type[] = "inline";
+ if($this->AttachmentExists()) $this->message_type[] = "attach";
+ $this->message_type = implode("_", $this->message_type);
+ if($this->message_type == "") $this->message_type = "plain";
+ }
+
+ /**
+ * Returns a formatted header line.
+ * @access public
+ * @param string $name
+ * @param string $value
+ * @return string
+ */
+ public function HeaderLine($name, $value) {
+ return $name . ': ' . $value . $this->LE;
+ }
+
+ /**
+ * Returns a formatted mail line.
+ * @access public
+ * @param string $value
+ * @return string
+ */
+ public function TextLine($value) {
+ return $value . $this->LE;
+ }
+
+ /////////////////////////////////////////////////
+ // CLASS METHODS, ATTACHMENTS
+ /////////////////////////////////////////////////
+
+ /**
+ * Adds an attachment from a path on the filesystem.
+ * Returns false if the file could not be found
+ * or accessed.
+ * @param string $path Path to the attachment.
+ * @param string $name Overrides the attachment name.
+ * @param string $encoding File encoding (see $Encoding).
+ * @param string $type File extension (MIME) type.
+ * @throws phpmailerException
+ * @return bool
+ */
+ public function AddAttachment($path, $name = '', $encoding = 'base64', $type = 'application/octet-stream') {
+ try {
+ if ( !@is_file($path) ) {
+ throw new phpmailerException($this->Lang('file_access') . $path, self::STOP_CONTINUE);
+ }
+ $filename = basename($path);
+ if ( $name == '' ) {
+ $name = $filename;
+ }
+
+ $this->attachment[] = array(
+ 0 => $path,
+ 1 => $filename,
+ 2 => $name,
+ 3 => $encoding,
+ 4 => $type,
+ 5 => false, // isStringAttachment
+ 6 => 'attachment',
+ 7 => 0
+ );
+
+ } catch (phpmailerException $e) {
+ $this->SetError($e->getMessage());
+ if ($this->exceptions) {
+ throw $e;
+ }
+ if ($this->SMTPDebug) {
+ $this->edebug($e->getMessage()."\n");
+ }
+ if ( $e->getCode() == self::STOP_CRITICAL ) {
+ return false;
+ }
+ }
+ return true;
+ }
+
+ /**
+ * Return the current array of attachments
+ * @return array
+ */
+ public function GetAttachments() {
+ return $this->attachment;
+ }
+
+ /**
+ * Attaches all fs, string, and binary attachments to the message.
+ * Returns an empty string on failure.
+ * @access protected
+ * @param string $disposition_type
+ * @param string $boundary
+ * @return string
+ */
+ protected function AttachAll($disposition_type, $boundary) {
+ // Return text of body
+ $mime = array();
+ $cidUniq = array();
+ $incl = array();
+
+ // Add all attachments
+ foreach ($this->attachment as $attachment) {
+ // CHECK IF IT IS A VALID DISPOSITION_FILTER
+ if($attachment[6] == $disposition_type) {
+ // Check for string attachment
+ $string = '';
+ $path = '';
+ $bString = $attachment[5];
+ if ($bString) {
+ $string = $attachment[0];
+ } else {
+ $path = $attachment[0];
+ }
+
+ $inclhash = md5(serialize($attachment));
+ if (in_array($inclhash, $incl)) { continue; }
+ $incl[] = $inclhash;
+ $filename = $attachment[1];
+ $name = $attachment[2];
+ $encoding = $attachment[3];
+ $type = $attachment[4];
+ $disposition = $attachment[6];
+ $cid = $attachment[7];
+ if ( $disposition == 'inline' && isset($cidUniq[$cid]) ) { continue; }
+ $cidUniq[$cid] = true;
+
+ $mime[] = sprintf("--%s%s", $boundary, $this->LE);
+ $mime[] = sprintf("Content-Type: %s; name=\"%s\"%s", $type, $this->EncodeHeader($this->SecureHeader($name)), $this->LE);
+ $mime[] = sprintf("Content-Transfer-Encoding: %s%s", $encoding, $this->LE);
+
+ if($disposition == 'inline') {
+ $mime[] = sprintf("Content-ID: <%s>%s", $cid, $this->LE);
+ }
+
+ $mime[] = sprintf("Content-Disposition: %s; filename=\"%s\"%s", $disposition, $this->EncodeHeader($this->SecureHeader($name)), $this->LE.$this->LE);
+
+ // Encode as string attachment
+ if($bString) {
+ $mime[] = $this->EncodeString($string, $encoding);
+ if($this->IsError()) {
+ return '';
+ }
+ $mime[] = $this->LE.$this->LE;
+ } else {
+ $mime[] = $this->EncodeFile($path, $encoding);
+ if($this->IsError()) {
+ return '';
+ }
+ $mime[] = $this->LE.$this->LE;
+ }
+ }
+ }
+
+ $mime[] = sprintf("--%s--%s", $boundary, $this->LE);
+
+ return implode("", $mime);
+ }
+
+ /**
+ * Encodes attachment in requested format.
+ * Returns an empty string on failure.
+ * @param string $path The full path to the file
+ * @param string $encoding The encoding to use; one of 'base64', '7bit', '8bit', 'binary', 'quoted-printable'
+ * @throws phpmailerException
+ * @see EncodeFile()
+ * @access protected
+ * @return string
+ */
+ protected function EncodeFile($path, $encoding = 'base64') {
+ try {
+ if (!is_readable($path)) {
+ throw new phpmailerException($this->Lang('file_open') . $path, self::STOP_CONTINUE);
+ }
+ // if (!function_exists('get_magic_quotes')) {
+ // function get_magic_quotes() {
+ // return false;
+ // }
+ // }
+ $magic_quotes = get_magic_quotes_runtime();
+ if ($magic_quotes) {
+ if (version_compare(PHP_VERSION, '5.3.0', '<')) {
+ set_magic_quotes_runtime(0);
+ } else {
+ ini_set('magic_quotes_runtime', 0);
+ }
+ }
+ $file_buffer = file_get_contents($path);
+ $file_buffer = $this->EncodeString($file_buffer, $encoding);
+ if ($magic_quotes) {
+ if (version_compare(PHP_VERSION, '5.3.0', '<')) {
+ set_magic_quotes_runtime($magic_quotes);
+ } else {
+ ini_set('magic_quotes_runtime', $magic_quotes);
+ }
+ }
+ return $file_buffer;
+ } catch (Exception $e) {
+ $this->SetError($e->getMessage());
+ return '';
+ }
+ }
+
+ /**
+ * Encodes string to requested format.
+ * Returns an empty string on failure.
+ * @param string $str The text to encode
+ * @param string $encoding The encoding to use; one of 'base64', '7bit', '8bit', 'binary', 'quoted-printable'
+ * @access public
+ * @return string
+ */
+ public function EncodeString($str, $encoding = 'base64') {
+ $encoded = '';
+ switch(strtolower($encoding)) {
+ case 'base64':
+ $encoded = chunk_split(base64_encode($str), 76, $this->LE);
+ break;
+ case '7bit':
+ case '8bit':
+ $encoded = $this->FixEOL($str);
+ //Make sure it ends with a line break
+ if (substr($encoded, -(strlen($this->LE))) != $this->LE)
+ $encoded .= $this->LE;
+ break;
+ case 'binary':
+ $encoded = $str;
+ break;
+ case 'quoted-printable':
+ $encoded = $this->EncodeQP($str);
+ break;
+ default:
+ $this->SetError($this->Lang('encoding') . $encoding);
+ break;
+ }
+ return $encoded;
+ }
+
+ /**
+ * Encode a header string to best (shortest) of Q, B, quoted or none.
+ * @access public
+ * @param string $str
+ * @param string $position
+ * @return string
+ */
+ public function EncodeHeader($str, $position = 'text') {
+ $x = 0;
+
+ switch (strtolower($position)) {
+ case 'phrase':
+ if (!preg_match('/[\200-\377]/', $str)) {
+ // Can't use addslashes as we don't know what value has magic_quotes_sybase
+ $encoded = addcslashes($str, "\0..\37\177\\\"");
+ if (($str == $encoded) && !preg_match('/[^A-Za-z0-9!#$%&\'*+\/=?^_`{|}~ -]/', $str)) {
+ return ($encoded);
+ } else {
+ return ("\"$encoded\"");
+ }
+ }
+ $x = preg_match_all('/[^\040\041\043-\133\135-\176]/', $str, $matches);
+ break;
+ case 'comment':
+ $x = preg_match_all('/[()"]/', $str, $matches);
+ // Fall-through
+ case 'text':
+ default:
+ $x += preg_match_all('/[\000-\010\013\014\016-\037\177-\377]/', $str, $matches);
+ break;
+ }
+
+ if ($x == 0) {
+ return ($str);
+ }
+
+ $maxlen = 75 - 7 - strlen($this->CharSet);
+ // Try to select the encoding which should produce the shortest output
+ if (strlen($str)/3 < $x) {
+ $encoding = 'B';
+ if (function_exists('mb_strlen') && $this->HasMultiBytes($str)) {
+ // Use a custom function which correctly encodes and wraps long
+ // multibyte strings without breaking lines within a character
+ $encoded = $this->Base64EncodeWrapMB($str, "\n");
+ } else {
+ $encoded = base64_encode($str);
+ $maxlen -= $maxlen % 4;
+ $encoded = trim(chunk_split($encoded, $maxlen, "\n"));
+ }
+ } else {
+ $encoding = 'Q';
+ $encoded = $this->EncodeQ($str, $position);
+ $encoded = $this->WrapText($encoded, $maxlen, true);
+ $encoded = str_replace('='.self::CRLF, "\n", trim($encoded));
+ }
+
+ $encoded = preg_replace('/^(.*)$/m', " =?".$this->CharSet."?$encoding?\\1?=", $encoded);
+ $encoded = trim(str_replace("\n", $this->LE, $encoded));
+
+ return $encoded;
+ }
+
+ /**
+ * Checks if a string contains multibyte characters.
+ * @access public
+ * @param string $str multi-byte text to wrap encode
+ * @return bool
+ */
+ public function HasMultiBytes($str) {
+ if (function_exists('mb_strlen')) {
+ return (strlen($str) > mb_strlen($str, $this->CharSet));
+ } else { // Assume no multibytes (we can't handle without mbstring functions anyway)
+ return false;
+ }
+ }
+
+ /**
+ * Correctly encodes and wraps long multibyte strings for mail headers
+ * without breaking lines within a character.
+ * Adapted from a function by paravoid at http://uk.php.net/manual/en/function.mb-encode-mimeheader.php
+ * @access public
+ * @param string $str multi-byte text to wrap encode
+ * @param string $lf string to use as linefeed/end-of-line
+ * @return string
+ */
+ public function Base64EncodeWrapMB($str, $lf=null) {
+ $start = "=?".$this->CharSet."?B?";
+ $end = "?=";
+ $encoded = "";
+ if ($lf === null) {
+ $lf = $this->LE;
+ }
+
+ $mb_length = mb_strlen($str, $this->CharSet);
+ // Each line must have length <= 75, including $start and $end
+ $length = 75 - strlen($start) - strlen($end);
+ // Average multi-byte ratio
+ $ratio = $mb_length / strlen($str);
+ // Base64 has a 4:3 ratio
+ $offset = $avgLength = floor($length * $ratio * .75);
+
+ for ($i = 0; $i < $mb_length; $i += $offset) {
+ $lookBack = 0;
+
+ do {
+ $offset = $avgLength - $lookBack;
+ $chunk = mb_substr($str, $i, $offset, $this->CharSet);
+ $chunk = base64_encode($chunk);
+ $lookBack++;
+ }
+ while (strlen($chunk) > $length);
+
+ $encoded .= $chunk . $lf;
+ }
+
+ // Chomp the last linefeed
+ $encoded = substr($encoded, 0, -strlen($lf));
+ return $encoded;
+ }
+
+ /**
+ * Encode string to quoted-printable.
+ * Only uses standard PHP, slow, but will always work
+ * @access public
+ * @param string $input
+ * @param integer $line_max Number of chars allowed on a line before wrapping
+ * @param bool $space_conv
+ * @internal param string $string the text to encode
+ * @return string
+ */
+ public function EncodeQPphp( $input = '', $line_max = 76, $space_conv = false) {
+ $hex = array('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F');
+ $lines = preg_split('/(?:\r\n|\r|\n)/', $input);
+ $eol = "\r\n";
+ $escape = '=';
+ $output = '';
+ while( list(, $line) = each($lines) ) {
+ $linlen = strlen($line);
+ $newline = '';
+ for($i = 0; $i < $linlen; $i++) {
+ $c = substr( $line, $i, 1 );
+ $dec = ord( $c );
+ if ( ( $i == 0 ) && ( $dec == 46 ) ) { // convert first point in the line into =2E
+ $c = '=2E';
+ }
+ if ( $dec == 32 ) {
+ if ( $i == ( $linlen - 1 ) ) { // convert space at eol only
+ $c = '=20';
+ } else if ( $space_conv ) {
+ $c = '=20';
+ }
+ } elseif ( ($dec == 61) || ($dec < 32 ) || ($dec > 126) ) { // always encode "\t", which is *not* required
+ $h2 = (integer)floor($dec/16);
+ $h1 = (integer)floor($dec%16);
+ $c = $escape.$hex[$h2].$hex[$h1];
+ }
+ if ( (strlen($newline) + strlen($c)) >= $line_max ) { // CRLF is not counted
+ $output .= $newline.$escape.$eol; // soft line break; " =\r\n" is okay
+ $newline = '';
+ // check if newline first character will be point or not
+ if ( $dec == 46 ) {
+ $c = '=2E';
+ }
+ }
+ $newline .= $c;
+ } // end of for
+ $output .= $newline.$eol;
+ } // end of while
+ return $output;
+ }
+
+ /**
+ * Encode string to RFC2045 (6.7) quoted-printable format
+ * Uses a PHP5 stream filter to do the encoding about 64x faster than the old version
+ * Also results in same content as you started with after decoding
+ * @see EncodeQPphp()
+ * @access public
+ * @param string $string the text to encode
+ * @param integer $line_max Number of chars allowed on a line before wrapping
+ * @param boolean $space_conv Dummy param for compatibility with existing EncodeQP function
+ * @return string
+ * @author Marcus Bointon
+ */
+ public function EncodeQP($string, $line_max = 76, $space_conv = false) {
+ if (function_exists('quoted_printable_encode')) { //Use native function if it's available (>= PHP5.3)
+ return quoted_printable_encode($string);
+ }
+ $filters = stream_get_filters();
+ if (!in_array('convert.*', $filters)) { //Got convert stream filter?
+ return $this->EncodeQPphp($string, $line_max, $space_conv); //Fall back to old implementation
+ }
+ $fp = fopen('php://temp/', 'r+');
+ $string = preg_replace('/\r\n?/', $this->LE, $string); //Normalise line breaks
+ $params = array('line-length' => $line_max, 'line-break-chars' => $this->LE);
+ $s = stream_filter_append($fp, 'convert.quoted-printable-encode', STREAM_FILTER_READ, $params);
+ fputs($fp, $string);
+ rewind($fp);
+ $out = stream_get_contents($fp);
+ stream_filter_remove($s);
+ $out = preg_replace('/^\./m', '=2E', $out); //Encode . if it is first char on a line, workaround for bug in Exchange
+ fclose($fp);
+ return $out;
+ }
+
+ /**
+ * Encode string to q encoding.
+ * @link http://tools.ietf.org/html/rfc2047
+ * @param string $str the text to encode
+ * @param string $position Where the text is going to be used, see the RFC for what that means
+ * @access public
+ * @return string
+ */
+ public function EncodeQ($str, $position = 'text') {
+ //There should not be any EOL in the string
+ $pattern="";
+ $encoded = str_replace(array("\r", "\n"), '', $str);
+ switch (strtolower($position)) {
+ case 'phrase':
+ $pattern = '^A-Za-z0-9!*+\/ -';
+ break;
+
+ case 'comment':
+ $pattern = '\(\)"';
+ //note that we dont break here!
+ //for this reason we build the $pattern withoud including delimiters and []
+
+ case 'text':
+ default:
+ //Replace every high ascii, control =, ? and _ characters
+ //We put \075 (=) as first value to make sure it's the first one in being converted, preventing double encode
+ $pattern = '\075\000-\011\013\014\016-\037\077\137\177-\377' . $pattern;
+ break;
+ }
+
+ if (preg_match_all("/[{$pattern}]/", $encoded, $matches)) {
+ foreach (array_unique($matches[0]) as $char) {
+ $encoded = str_replace($char, '=' . sprintf('%02X', ord($char)), $encoded);
+ }
+ }
+
+ //Replace every spaces to _ (more readable than =20)
+ return str_replace(' ', '_', $encoded);
+}
+
+
+ /**
+ * Adds a string or binary attachment (non-filesystem) to the list.
+ * This method can be used to attach ascii or binary data,
+ * such as a BLOB record from a database.
+ * @param string $string String attachment data.
+ * @param string $filename Name of the attachment.
+ * @param string $encoding File encoding (see $Encoding).
+ * @param string $type File extension (MIME) type.
+ * @return void
+ */
+ public function AddStringAttachment($string, $filename, $encoding = 'base64', $type = 'application/octet-stream') {
+ // Append to $attachment array
+ $this->attachment[] = array(
+ 0 => $string,
+ 1 => $filename,
+ 2 => basename($filename),
+ 3 => $encoding,
+ 4 => $type,
+ 5 => true, // isStringAttachment
+ 6 => 'attachment',
+ 7 => 0
+ );
+ }
+
+ /**
+ * Adds an embedded attachment. This can include images, sounds, and
+ * just about any other document. Make sure to set the $type to an
+ * image type. For JPEG images use "image/jpeg" and for GIF images
+ * use "image/gif".
+ * @param string $path Path to the attachment.
+ * @param string $cid Content ID of the attachment. Use this to identify
+ * the Id for accessing the image in an HTML form.
+ * @param string $name Overrides the attachment name.
+ * @param string $encoding File encoding (see $Encoding).
+ * @param string $type File extension (MIME) type.
+ * @return bool
+ */
+ public function AddEmbeddedImage($path, $cid, $name = '', $encoding = 'base64', $type = 'application/octet-stream') {
+
+ if ( !@is_file($path) ) {
+ $this->SetError($this->Lang('file_access') . $path);
+ return false;
+ }
+
+ $filename = basename($path);
+ if ( $name == '' ) {
+ $name = $filename;
+ }
+
+ // Append to $attachment array
+ $this->attachment[] = array(
+ 0 => $path,
+ 1 => $filename,
+ 2 => $name,
+ 3 => $encoding,
+ 4 => $type,
+ 5 => false, // isStringAttachment
+ 6 => 'inline',
+ 7 => $cid
+ );
+
+ return true;
+ }
+
+ /**
+ * Adds an embedded stringified attachment. This can include images, sounds, and
+ * just about any other document. Make sure to set the $type to an
+ * image type. For JPEG images use "image/jpeg" and for GIF images
+ * use "image/gif".
+ * @param string $string The attachment.
+ * @param string $cid Content ID of the attachment. Use this to identify
+ * the Id for accessing the image in an HTML form.
+ * @param string $name Overrides the attachment name.
+ * @param string $encoding File encoding (see $Encoding).
+ * @param string $type File extension (MIME) type.
+ * @return bool
+ */
+ public function AddStringEmbeddedImage($string, $cid, $name = '', $encoding = 'base64', $type = 'application/octet-stream') {
+ // Append to $attachment array
+ $this->attachment[] = array(
+ 0 => $string,
+ 1 => $name,
+ 2 => $name,
+ 3 => $encoding,
+ 4 => $type,
+ 5 => true, // isStringAttachment
+ 6 => 'inline',
+ 7 => $cid
+ );
+ }
+
+ /**
+ * Returns true if an inline attachment is present.
+ * @access public
+ * @return bool
+ */
+ public function InlineImageExists() {
+ foreach($this->attachment as $attachment) {
+ if ($attachment[6] == 'inline') {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ /**
+ * Returns true if an attachment (non-inline) is present.
+ * @return bool
+ */
+ public function AttachmentExists() {
+ foreach($this->attachment as $attachment) {
+ if ($attachment[6] == 'attachment') {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ /**
+ * Does this message have an alternative body set?
+ * @return bool
+ */
+ public function AlternativeExists() {
+ return !empty($this->AltBody);
+ }
+
+ /////////////////////////////////////////////////
+ // CLASS METHODS, MESSAGE RESET
+ /////////////////////////////////////////////////
+
+ /**
+ * Clears all recipients assigned in the TO array. Returns void.
+ * @return void
+ */
+ public function ClearAddresses() {
+ foreach($this->to as $to) {
+ unset($this->all_recipients[strtolower($to[0])]);
+ }
+ $this->to = array();
+ }
+
+ /**
+ * Clears all recipients assigned in the CC array. Returns void.
+ * @return void
+ */
+ public function ClearCCs() {
+ foreach($this->cc as $cc) {
+ unset($this->all_recipients[strtolower($cc[0])]);
+ }
+ $this->cc = array();
+ }
+
+ /**
+ * Clears all recipients assigned in the BCC array. Returns void.
+ * @return void
+ */
+ public function ClearBCCs() {
+ foreach($this->bcc as $bcc) {
+ unset($this->all_recipients[strtolower($bcc[0])]);
+ }
+ $this->bcc = array();
+ }
+
+ /**
+ * Clears all recipients assigned in the ReplyTo array. Returns void.
+ * @return void
+ */
+ public function ClearReplyTos() {
+ $this->ReplyTo = array();
+ }
+
+ /**
+ * Clears all recipients assigned in the TO, CC and BCC
+ * array. Returns void.
+ * @return void
+ */
+ public function ClearAllRecipients() {
+ $this->to = array();
+ $this->cc = array();
+ $this->bcc = array();
+ $this->all_recipients = array();
+ }
+
+ /**
+ * Clears all previously set filesystem, string, and binary
+ * attachments. Returns void.
+ * @return void
+ */
+ public function ClearAttachments() {
+ $this->attachment = array();
+ }
+
+ /**
+ * Clears all custom headers. Returns void.
+ * @return void
+ */
+ public function ClearCustomHeaders() {
+ $this->CustomHeader = array();
+ }
+
+ /////////////////////////////////////////////////
+ // CLASS METHODS, MISCELLANEOUS
+ /////////////////////////////////////////////////
+
+ /**
+ * Adds the error message to the error container.
+ * @access protected
+ * @param string $msg
+ * @return void
+ */
+ protected function SetError($msg) {
+ $this->error_count++;
+ if ($this->Mailer == 'smtp' and !is_null($this->smtp)) {
+ $lasterror = $this->smtp->getError();
+ if (!empty($lasterror) and array_key_exists('smtp_msg', $lasterror)) {
+ $msg .= '' . $this->Lang('smtp_error') . $lasterror['smtp_msg'] . "
\n";
+ }
+ }
+ $this->ErrorInfo = $msg;
+ }
+
+ /**
+ * Returns the proper RFC 822 formatted date.
+ * @access public
+ * @return string
+ * @static
+ */
+ public static function RFCDate() {
+ $tz = date('Z');
+ $tzs = ($tz < 0) ? '-' : '+';
+ $tz = abs($tz);
+ $tz = (int)($tz/3600)*100 + ($tz%3600)/60;
+ $result = sprintf("%s %s%04d", date('D, j M Y H:i:s'), $tzs, $tz);
+
+ return $result;
+ }
+
+ /**
+ * Returns the server hostname or 'localhost.localdomain' if unknown.
+ * @access protected
+ * @return string
+ */
+ protected function ServerHostname() {
+ if (!empty($this->Hostname)) {
+ $result = $this->Hostname;
+ } elseif (isset($_SERVER['SERVER_NAME'])) {
+ $result = $_SERVER['SERVER_NAME'];
+ } else {
+ $result = 'localhost.localdomain';
+ }
+
+ return $result;
+ }
+
+ /**
+ * Returns a message in the appropriate language.
+ * @access protected
+ * @param string $key
+ * @return string
+ */
+ protected function Lang($key) {
+ if(count($this->language) < 1) {
+ $this->SetLanguage('en'); // set the default language
+ }
+
+ if(isset($this->language[$key])) {
+ return $this->language[$key];
+ } else {
+ return 'Language string failed to load: ' . $key;
+ }
+ }
+
+ /**
+ * Returns true if an error occurred.
+ * @access public
+ * @return bool
+ */
+ public function IsError() {
+ return ($this->error_count > 0);
+ }
+
+ /**
+ * Changes every end of line from CRLF, CR or LF to $this->LE.
+ * @access public
+ * @param string $str String to FixEOL
+ * @return string
+ */
+ public function FixEOL($str) {
+ // condense down to \n
+ $nstr = str_replace(array("\r\n", "\r"), "\n", $str);
+ // Now convert LE as needed
+ if ($this->LE !== "\n") {
+ $nstr = str_replace("\n", $this->LE, $nstr);
+ }
+ return $nstr;
+ }
+
+ /**
+ * Adds a custom header. $name value can be overloaded to contain
+ * both header name and value (name:value)
+ * @access public
+ * @param string $name custom header name
+ * @param string $value header value
+ * @return void
+ */
+ public function AddCustomHeader($name, $value=null) {
+ if ($value === null) {
+ // Value passed in as name:value
+ $this->CustomHeader[] = explode(':', $name, 2);
+ } else {
+ $this->CustomHeader[] = array($name, $value);
+ }
+ }
+
+ /**
+ * Evaluates the message and returns modifications for inline images and backgrounds
+ * @access public
+ * @param string $message Text to be HTML modified
+ * @param string $basedir baseline directory for path
+ * @return string $message
+ */
+ public function MsgHTML($message, $basedir = '') {
+ preg_match_all("/(src|background)=[\"'](.*)[\"']/Ui", $message, $images);
+ if(isset($images[2])) {
+ foreach($images[2] as $i => $url) {
+ // do not change urls for absolute images (thanks to corvuscorax)
+ if (!preg_match('#^[A-z]+://#', $url)) {
+ $filename = basename($url);
+ $directory = dirname($url);
+ if ($directory == '.') {
+ $directory = '';
+ }
+ $cid = 'cid:' . md5($url);
+ $ext = pathinfo($filename, PATHINFO_EXTENSION);
+ $mimeType = self::_mime_types($ext);
+ if ( strlen($basedir) > 1 && substr($basedir, -1) != '/') { $basedir .= '/'; }
+ if ( strlen($directory) > 1 && substr($directory, -1) != '/') { $directory .= '/'; }
+ if ( $this->AddEmbeddedImage($basedir.$directory.$filename, md5($url), $filename, 'base64', $mimeType) ) {
+ $message = preg_replace("/".$images[1][$i]."=[\"']".preg_quote($url, '/')."[\"']/Ui", $images[1][$i]."=\"".$cid."\"", $message);
+ }
+ }
+ }
+ }
+ $this->IsHTML(true);
+ $this->Body = $message;
+ if (empty($this->AltBody)) {
+ $textMsg = trim(strip_tags(preg_replace('/<(head|title|style|script)[^>]*>.*?<\/\\1>/s', '', $message)));
+ if (!empty($textMsg)) {
+ $this->AltBody = html_entity_decode($textMsg, ENT_QUOTES, $this->CharSet);
+ }
+ }
+ if (empty($this->AltBody)) {
+ $this->AltBody = 'To view this email message, open it in a program that understands HTML!' . "\n\n";
+ }
+ return $message;
+ }
+
+ /**
+ * Gets the MIME type of the embedded or inline image
+ * @param string $ext File extension
+ * @access public
+ * @return string MIME type of ext
+ * @static
+ */
+ public static function _mime_types($ext = '') {
+ $mimes = array(
+ 'xl' => 'application/excel',
+ 'hqx' => 'application/mac-binhex40',
+ 'cpt' => 'application/mac-compactpro',
+ 'bin' => 'application/macbinary',
+ 'doc' => 'application/msword',
+ 'word' => 'application/msword',
+ 'class' => 'application/octet-stream',
+ 'dll' => 'application/octet-stream',
+ 'dms' => 'application/octet-stream',
+ 'exe' => 'application/octet-stream',
+ 'lha' => 'application/octet-stream',
+ 'lzh' => 'application/octet-stream',
+ 'psd' => 'application/octet-stream',
+ 'sea' => 'application/octet-stream',
+ 'so' => 'application/octet-stream',
+ 'oda' => 'application/oda',
+ 'pdf' => 'application/pdf',
+ 'ai' => 'application/postscript',
+ 'eps' => 'application/postscript',
+ 'ps' => 'application/postscript',
+ 'smi' => 'application/smil',
+ 'smil' => 'application/smil',
+ 'mif' => 'application/vnd.mif',
+ 'xls' => 'application/vnd.ms-excel',
+ 'ppt' => 'application/vnd.ms-powerpoint',
+ 'wbxml' => 'application/vnd.wap.wbxml',
+ 'wmlc' => 'application/vnd.wap.wmlc',
+ 'dcr' => 'application/x-director',
+ 'dir' => 'application/x-director',
+ 'dxr' => 'application/x-director',
+ 'dvi' => 'application/x-dvi',
+ 'gtar' => 'application/x-gtar',
+ 'php3' => 'application/x-httpd-php',
+ 'php4' => 'application/x-httpd-php',
+ 'php' => 'application/x-httpd-php',
+ 'phtml' => 'application/x-httpd-php',
+ 'phps' => 'application/x-httpd-php-source',
+ 'js' => 'application/x-javascript',
+ 'swf' => 'application/x-shockwave-flash',
+ 'sit' => 'application/x-stuffit',
+ 'tar' => 'application/x-tar',
+ 'tgz' => 'application/x-tar',
+ 'xht' => 'application/xhtml+xml',
+ 'xhtml' => 'application/xhtml+xml',
+ 'zip' => 'application/zip',
+ 'mid' => 'audio/midi',
+ 'midi' => 'audio/midi',
+ 'mp2' => 'audio/mpeg',
+ 'mp3' => 'audio/mpeg',
+ 'mpga' => 'audio/mpeg',
+ 'aif' => 'audio/x-aiff',
+ 'aifc' => 'audio/x-aiff',
+ 'aiff' => 'audio/x-aiff',
+ 'ram' => 'audio/x-pn-realaudio',
+ 'rm' => 'audio/x-pn-realaudio',
+ 'rpm' => 'audio/x-pn-realaudio-plugin',
+ 'ra' => 'audio/x-realaudio',
+ 'wav' => 'audio/x-wav',
+ 'bmp' => 'image/bmp',
+ 'gif' => 'image/gif',
+ 'jpeg' => 'image/jpeg',
+ 'jpe' => 'image/jpeg',
+ 'jpg' => 'image/jpeg',
+ 'png' => 'image/png',
+ 'tiff' => 'image/tiff',
+ 'tif' => 'image/tiff',
+ 'eml' => 'message/rfc822',
+ 'css' => 'text/css',
+ 'html' => 'text/html',
+ 'htm' => 'text/html',
+ 'shtml' => 'text/html',
+ 'log' => 'text/plain',
+ 'text' => 'text/plain',
+ 'txt' => 'text/plain',
+ 'rtx' => 'text/richtext',
+ 'rtf' => 'text/rtf',
+ 'xml' => 'text/xml',
+ 'xsl' => 'text/xml',
+ 'mpeg' => 'video/mpeg',
+ 'mpe' => 'video/mpeg',
+ 'mpg' => 'video/mpeg',
+ 'mov' => 'video/quicktime',
+ 'qt' => 'video/quicktime',
+ 'rv' => 'video/vnd.rn-realvideo',
+ 'avi' => 'video/x-msvideo',
+ 'movie' => 'video/x-sgi-movie'
+ );
+ return (!isset($mimes[strtolower($ext)])) ? 'application/octet-stream' : $mimes[strtolower($ext)];
+ }
+
+ /**
+ * Set (or reset) Class Objects (variables)
+ *
+ * Usage Example:
+ * $page->set('X-Priority', '3');
+ *
+ * @access public
+ * @param string $name Parameter Name
+ * @param mixed $value Parameter Value
+ * NOTE: will not work with arrays, there are no arrays to set/reset
+ * @throws phpmailerException
+ * @return bool
+ * @todo Should this not be using __set() magic function?
+ */
+ public function set($name, $value = '') {
+ try {
+ if (isset($this->$name) ) {
+ $this->$name = $value;
+ } else {
+ throw new phpmailerException($this->Lang('variable_set') . $name, self::STOP_CRITICAL);
+ }
+ } catch (Exception $e) {
+ $this->SetError($e->getMessage());
+ if ($e->getCode() == self::STOP_CRITICAL) {
+ return false;
+ }
+ }
+ return true;
+ }
+
+ /**
+ * Strips newlines to prevent header injection.
+ * @access public
+ * @param string $str String
+ * @return string
+ */
+ public function SecureHeader($str) {
+ return trim(str_replace(array("\r", "\n"), '', $str));
+ }
+
+ /**
+ * Set the private key file and password to sign the message.
+ *
+ * @access public
+ * @param $cert_filename
+ * @param string $key_filename Parameter File Name
+ * @param string $key_pass Password for private key
+ */
+ public function Sign($cert_filename, $key_filename, $key_pass) {
+ $this->sign_cert_file = $cert_filename;
+ $this->sign_key_file = $key_filename;
+ $this->sign_key_pass = $key_pass;
+ }
+
+ /**
+ * Set the private key file and password to sign the message.
+ *
+ * @access public
+ * @param string $txt
+ * @return string
+ */
+ public function DKIM_QP($txt) {
+ $line = '';
+ for ($i = 0; $i < strlen($txt); $i++) {
+ $ord = ord($txt[$i]);
+ if ( ((0x21 <= $ord) && ($ord <= 0x3A)) || $ord == 0x3C || ((0x3E <= $ord) && ($ord <= 0x7E)) ) {
+ $line .= $txt[$i];
+ } else {
+ $line .= "=".sprintf("%02X", $ord);
+ }
+ }
+ return $line;
+ }
+
+ /**
+ * Generate DKIM signature
+ *
+ * @access public
+ * @param string $s Header
+ * @return string
+ */
+ public function DKIM_Sign($s) {
+ $privKeyStr = file_get_contents($this->DKIM_private);
+ if ($this->DKIM_passphrase != '') {
+ $privKey = openssl_pkey_get_private($privKeyStr, $this->DKIM_passphrase);
+ } else {
+ $privKey = $privKeyStr;
+ }
+ if (openssl_sign($s, $signature, $privKey)) {
+ return base64_encode($signature);
+ }
+ return '';
+ }
+
+ /**
+ * Generate DKIM Canonicalization Header
+ *
+ * @access public
+ * @param string $s Header
+ * @return string
+ */
+ public function DKIM_HeaderC($s) {
+ $s = preg_replace("/\r\n\s+/", " ", $s);
+ $lines = explode("\r\n", $s);
+ foreach ($lines as $key => $line) {
+ list($heading, $value) = explode(":", $line, 2);
+ $heading = strtolower($heading);
+ $value = preg_replace("/\s+/", " ", $value) ; // Compress useless spaces
+ $lines[$key] = $heading.":".trim($value) ; // Don't forget to remove WSP around the value
+ }
+ $s = implode("\r\n", $lines);
+ return $s;
+ }
+
+ /**
+ * Generate DKIM Canonicalization Body
+ *
+ * @access public
+ * @param string $body Message Body
+ * @return string
+ */
+ public function DKIM_BodyC($body) {
+ if ($body == '') return "\r\n";
+ // stabilize line endings
+ $body = str_replace("\r\n", "\n", $body);
+ $body = str_replace("\n", "\r\n", $body);
+ // END stabilize line endings
+ while (substr($body, strlen($body) - 4, 4) == "\r\n\r\n") {
+ $body = substr($body, 0, strlen($body) - 2);
+ }
+ return $body;
+ }
+
+ /**
+ * Create the DKIM header, body, as new header
+ *
+ * @access public
+ * @param string $headers_line Header lines
+ * @param string $subject Subject
+ * @param string $body Body
+ * @return string
+ */
+ public function DKIM_Add($headers_line, $subject, $body) {
+ $DKIMsignatureType = 'rsa-sha1'; // Signature & hash algorithms
+ $DKIMcanonicalization = 'relaxed/simple'; // Canonicalization of header/body
+ $DKIMquery = 'dns/txt'; // Query method
+ $DKIMtime = time() ; // Signature Timestamp = seconds since 00:00:00 - Jan 1, 1970 (UTC time zone)
+ $subject_header = "Subject: $subject";
+ $headers = explode($this->LE, $headers_line);
+ $from_header = "";
+ $to_header = "";
+ foreach($headers as $header) {
+ if (strpos($header, 'From:') === 0) {
+ $from_header = $header;
+ } elseif (strpos($header, 'To:') === 0) {
+ $to_header = $header;
+ }
+ }
+ $from = str_replace('|', '=7C', $this->DKIM_QP($from_header));
+ $to = str_replace('|', '=7C', $this->DKIM_QP($to_header));
+ $subject = str_replace('|', '=7C', $this->DKIM_QP($subject_header)) ; // Copied header fields (dkim-quoted-printable
+ $body = $this->DKIM_BodyC($body);
+ $DKIMlen = strlen($body) ; // Length of body
+ $DKIMb64 = base64_encode(pack("H*", sha1($body))) ; // Base64 of packed binary SHA-1 hash of body
+ $ident = ($this->DKIM_identity == '')? '' : " i=" . $this->DKIM_identity . ";";
+ $dkimhdrs = "DKIM-Signature: v=1; a=" . $DKIMsignatureType . "; q=" . $DKIMquery . "; l=" . $DKIMlen . "; s=" . $this->DKIM_selector . ";\r\n".
+ "\tt=" . $DKIMtime . "; c=" . $DKIMcanonicalization . ";\r\n".
+ "\th=From:To:Subject;\r\n".
+ "\td=" . $this->DKIM_domain . ";" . $ident . "\r\n".
+ "\tz=$from\r\n".
+ "\t|$to\r\n".
+ "\t|$subject;\r\n".
+ "\tbh=" . $DKIMb64 . ";\r\n".
+ "\tb=";
+ $toSign = $this->DKIM_HeaderC($from_header . "\r\n" . $to_header . "\r\n" . $subject_header . "\r\n" . $dkimhdrs);
+ $signed = $this->DKIM_Sign($toSign);
+ return "X-PHPMAILER-DKIM: code.google.com/a/apache-extras.org/p/phpmailer/\r\n".$dkimhdrs.$signed."\r\n";
+ }
+
+ /**
+ * Perform callback
+ * @param boolean $isSent
+ * @param string $to
+ * @param string $cc
+ * @param string $bcc
+ * @param string $subject
+ * @param string $body
+ * @param string $from
+ */
+ protected function doCallback($isSent, $to, $cc, $bcc, $subject, $body, $from=null) {
+ if (!empty($this->action_function) && is_callable($this->action_function)) {
+ $params = array($isSent, $to, $cc, $bcc, $subject, $body, $from);
+ call_user_func_array($this->action_function, $params);
+ }
+ }
+}
+
+/**
+ * Exception handler for PHPMailer
+ * @package PHPMailer
+ */
+class phpmailerException extends Exception {
+ /**
+ * Prettify error message output
+ * @return string
+ */
+ public function errorMessage() {
+ $errorMsg = '' . $this->getMessage() . " \n";
+ return $errorMsg;
+ }
+}
+?>
diff --git a/frontend/web/count_form/app/lib/PHPMailer_5.2.4/class.pop3.php b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/class.pop3.php
new file mode 100644
index 0000000..506b599
--- /dev/null
+++ b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/class.pop3.php
@@ -0,0 +1,418 @@
+
+ * @author Andy Prevost
+ * @author Jim Jagielski
+ */
+
+class POP3 {
+ /**
+ * Default POP3 port
+ * @var int
+ */
+ public $POP3_PORT = 110;
+
+ /**
+ * Default Timeout
+ * @var int
+ */
+ public $POP3_TIMEOUT = 30;
+
+ /**
+ * POP3 Carriage Return + Line Feed
+ * @var string
+ */
+ public $CRLF = "\r\n";
+
+ /**
+ * Displaying Debug warnings? (0 = now, 1+ = yes)
+ * @var int
+ */
+ public $do_debug = 2;
+
+ /**
+ * POP3 Mail Server
+ * @var string
+ */
+ public $host;
+
+ /**
+ * POP3 Port
+ * @var int
+ */
+ public $port;
+
+ /**
+ * POP3 Timeout Value
+ * @var int
+ */
+ public $tval;
+
+ /**
+ * POP3 Username
+ * @var string
+ */
+ public $username;
+
+ /**
+ * POP3 Password
+ * @var string
+ */
+ public $password;
+
+ /**
+ * Sets the POP3 PHPMailer Version number
+ * @var string
+ */
+ public $Version = '5.2.4';
+
+ /////////////////////////////////////////////////
+ // PROPERTIES, PRIVATE AND PROTECTED
+ /////////////////////////////////////////////////
+
+ /**
+ * @var resource Resource handle for the POP connection socket
+ */
+ private $pop_conn;
+ /**
+ * @var boolean Are we connected?
+ */
+ private $connected;
+ /**
+ * @var array Error container
+ */
+ private $error; // Error log array
+
+ /**
+ * Constructor, sets the initial values
+ * @access public
+ * @return POP3
+ */
+ public function __construct() {
+ $this->pop_conn = 0;
+ $this->connected = false;
+ $this->error = null;
+ }
+
+ /**
+ * Combination of public events - connect, login, disconnect
+ * @access public
+ * @param string $host
+ * @param bool|int $port
+ * @param bool|int $tval
+ * @param string $username
+ * @param string $password
+ * @param int $debug_level
+ * @return bool
+ */
+ public function Authorise ($host, $port = false, $tval = false, $username, $password, $debug_level = 0) {
+ $this->host = $host;
+
+ // If no port value is passed, retrieve it
+ if ($port == false) {
+ $this->port = $this->POP3_PORT;
+ } else {
+ $this->port = $port;
+ }
+
+ // If no port value is passed, retrieve it
+ if ($tval == false) {
+ $this->tval = $this->POP3_TIMEOUT;
+ } else {
+ $this->tval = $tval;
+ }
+
+ $this->do_debug = $debug_level;
+ $this->username = $username;
+ $this->password = $password;
+
+ // Refresh the error log
+ $this->error = null;
+
+ // Connect
+ $result = $this->Connect($this->host, $this->port, $this->tval);
+
+ if ($result) {
+ $login_result = $this->Login($this->username, $this->password);
+
+ if ($login_result) {
+ $this->Disconnect();
+
+ return true;
+ }
+
+ }
+
+ // We need to disconnect regardless if the login succeeded
+ $this->Disconnect();
+
+ return false;
+ }
+
+ /**
+ * Connect to the POP3 server
+ * @access public
+ * @param string $host
+ * @param bool|int $port
+ * @param integer $tval
+ * @return boolean
+ */
+ public function Connect ($host, $port = false, $tval = 30) {
+ // Are we already connected?
+ if ($this->connected) {
+ return true;
+ }
+
+ /*
+ On Windows this will raise a PHP Warning error if the hostname doesn't exist.
+ Rather than supress it with @fsockopen, let's capture it cleanly instead
+ */
+
+ set_error_handler(array(&$this, 'catchWarning'));
+
+ // Connect to the POP3 server
+ $this->pop_conn = fsockopen($host, // POP3 Host
+ $port, // Port #
+ $errno, // Error Number
+ $errstr, // Error Message
+ $tval); // Timeout (seconds)
+
+ // Restore the error handler
+ restore_error_handler();
+
+ // Does the Error Log now contain anything?
+ if ($this->error && $this->do_debug >= 1) {
+ $this->displayErrors();
+ }
+
+ // Did we connect?
+ if ($this->pop_conn == false) {
+ // It would appear not...
+ $this->error = array(
+ 'error' => "Failed to connect to server $host on port $port",
+ 'errno' => $errno,
+ 'errstr' => $errstr
+ );
+
+ if ($this->do_debug >= 1) {
+ $this->displayErrors();
+ }
+
+ return false;
+ }
+
+ // Increase the stream time-out
+
+ // Check for PHP 4.3.0 or later
+ if (version_compare(phpversion(), '5.0.0', 'ge')) {
+ stream_set_timeout($this->pop_conn, $tval, 0);
+ } else {
+ // Does not work on Windows
+ if (substr(PHP_OS, 0, 3) !== 'WIN') {
+ socket_set_timeout($this->pop_conn, $tval, 0);
+ }
+ }
+
+ // Get the POP3 server response
+ $pop3_response = $this->getResponse();
+
+ // Check for the +OK
+ if ($this->checkResponse($pop3_response)) {
+ // The connection is established and the POP3 server is talking
+ $this->connected = true;
+ return true;
+ }
+ return false;
+ }
+
+ /**
+ * Login to the POP3 server (does not support APOP yet)
+ * @access public
+ * @param string $username
+ * @param string $password
+ * @return boolean
+ */
+ public function Login ($username = '', $password = '') {
+ if ($this->connected == false) {
+ $this->error = 'Not connected to POP3 server';
+
+ if ($this->do_debug >= 1) {
+ $this->displayErrors();
+ }
+ }
+
+ if (empty($username)) {
+ $username = $this->username;
+ }
+
+ if (empty($password)) {
+ $password = $this->password;
+ }
+
+ $pop_username = "USER $username" . $this->CRLF;
+ $pop_password = "PASS $password" . $this->CRLF;
+
+ // Send the Username
+ $this->sendString($pop_username);
+ $pop3_response = $this->getResponse();
+
+ if ($this->checkResponse($pop3_response)) {
+ // Send the Password
+ $this->sendString($pop_password);
+ $pop3_response = $this->getResponse();
+
+ if ($this->checkResponse($pop3_response)) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ /**
+ * Disconnect from the POP3 server
+ * @access public
+ */
+ public function Disconnect () {
+ $this->sendString('QUIT');
+
+ fclose($this->pop_conn);
+ }
+
+ /////////////////////////////////////////////////
+ // Private Methods
+ /////////////////////////////////////////////////
+
+ /**
+ * Get the socket response back.
+ * $size is the maximum number of bytes to retrieve
+ * @access private
+ * @param integer $size
+ * @return string
+ */
+ private function getResponse ($size = 128) {
+ $pop3_response = fgets($this->pop_conn, $size);
+
+ return $pop3_response;
+ }
+
+ /**
+ * Send a string down the open socket connection to the POP3 server
+ * @access private
+ * @param string $string
+ * @return integer
+ */
+ private function sendString ($string) {
+ $bytes_sent = fwrite($this->pop_conn, $string, strlen($string));
+
+ return $bytes_sent;
+ }
+
+ /**
+ * Checks the POP3 server response for +OK or -ERR
+ * @access private
+ * @param string $string
+ * @return boolean
+ */
+ private function checkResponse ($string) {
+ if (substr($string, 0, 3) !== '+OK') {
+ $this->error = array(
+ 'error' => "Server reported an error: $string",
+ 'errno' => 0,
+ 'errstr' => ''
+ );
+
+ if ($this->do_debug >= 1) {
+ $this->displayErrors();
+ }
+
+ return false;
+ } else {
+ return true;
+ }
+
+ }
+
+ /**
+ * If debug is enabled, display the error message array
+ * @access private
+ */
+ private function displayErrors () {
+ echo '';
+
+ foreach ($this->error as $single_error) {
+ print_r($single_error);
+ }
+
+ echo ' ';
+ }
+
+ /**
+ * Takes over from PHP for the socket warning handler
+ * @access private
+ * @param integer $errno
+ * @param string $errstr
+ * @param string $errfile
+ * @param integer $errline
+ */
+ private function catchWarning ($errno, $errstr, $errfile, $errline) {
+ $this->error[] = array(
+ 'error' => "Connecting to the POP3 server raised a PHP warning: ",
+ 'errno' => $errno,
+ 'errstr' => $errstr
+ );
+ }
+
+ // End of class
+}
+?>
diff --git a/frontend/web/count_form/app/lib/PHPMailer_5.2.4/class.smtp.php b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/class.smtp.php
new file mode 100644
index 0000000..72361bb
--- /dev/null
+++ b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/class.smtp.php
@@ -0,0 +1,1003 @@
+Debugoutput == "error_log") {
+ error_log($str);
+ } else {
+ echo $str;
+ }
+ }
+
+ /**
+ * Initialize the class so that the data is in a known state.
+ * @access public
+ * @return SMTP
+ */
+ public function __construct() {
+ $this->smtp_conn = 0;
+ $this->error = null;
+ $this->helo_rply = null;
+
+ $this->do_debug = 0;
+ }
+
+ /////////////////////////////////////////////////
+ // CONNECTION FUNCTIONS
+ /////////////////////////////////////////////////
+
+ /**
+ * Connect to the server specified on the port specified.
+ * If the port is not specified use the default SMTP_PORT.
+ * If tval is specified then a connection will try and be
+ * established with the server for that number of seconds.
+ * If tval is not specified the default is 30 seconds to
+ * try on the connection.
+ *
+ * SMTP CODE SUCCESS: 220
+ * SMTP CODE FAILURE: 421
+ * @access public
+ * @param string $host
+ * @param int $port
+ * @param int $tval
+ * @return bool
+ */
+ public function Connect($host, $port = 0, $tval = 30) {
+ // set the error val to null so there is no confusion
+ $this->error = null;
+
+ // make sure we are __not__ connected
+ if($this->connected()) {
+ // already connected, generate error
+ $this->error = array("error" => "Already connected to a server");
+ return false;
+ }
+
+ if(empty($port)) {
+ $port = $this->SMTP_PORT;
+ }
+
+ // connect to the smtp server
+ $this->smtp_conn = @fsockopen($host, // the host of the server
+ $port, // the port to use
+ $errno, // error number if any
+ $errstr, // error message if any
+ $tval); // give up after ? secs
+ // verify we connected properly
+ if(empty($this->smtp_conn)) {
+ $this->error = array("error" => "Failed to connect to server",
+ "errno" => $errno,
+ "errstr" => $errstr);
+ if($this->do_debug >= 1) {
+ $this->edebug("SMTP -> ERROR: " . $this->error["error"] . ": $errstr ($errno)" . $this->CRLF . ' ');
+ }
+ return false;
+ }
+
+ // SMTP server can take longer to respond, give longer timeout for first read
+ // Windows does not have support for this timeout function
+ if(substr(PHP_OS, 0, 3) != "WIN") {
+ $max = ini_get('max_execution_time');
+ if ($max != 0 && $tval > $max) { // don't bother if unlimited
+ @set_time_limit($tval);
+ }
+ stream_set_timeout($this->smtp_conn, $tval, 0);
+ }
+
+ // get any announcement
+ $announce = $this->get_lines();
+
+ if($this->do_debug >= 2) {
+ $this->edebug("SMTP -> FROM SERVER:" . $announce . $this->CRLF . ' ');
+ }
+
+ return true;
+ }
+
+ /**
+ * Initiate a TLS communication with the server.
+ *
+ * SMTP CODE 220 Ready to start TLS
+ * SMTP CODE 501 Syntax error (no parameters allowed)
+ * SMTP CODE 454 TLS not available due to temporary reason
+ * @access public
+ * @return bool success
+ */
+ public function StartTLS() {
+ $this->error = null; # to avoid confusion
+
+ if(!$this->connected()) {
+ $this->error = array("error" => "Called StartTLS() without being connected");
+ return false;
+ }
+
+ fputs($this->smtp_conn,"STARTTLS" . $this->CRLF);
+
+ $rply = $this->get_lines();
+ $code = substr($rply,0,3);
+
+ if($this->do_debug >= 2) {
+ $this->edebug("SMTP -> FROM SERVER:" . $rply . $this->CRLF . ' ');
+ }
+
+ if($code != 220) {
+ $this->error =
+ array("error" => "STARTTLS not accepted from server",
+ "smtp_code" => $code,
+ "smtp_msg" => substr($rply,4));
+ if($this->do_debug >= 1) {
+ $this->edebug("SMTP -> ERROR: " . $this->error["error"] . ": " . $rply . $this->CRLF . ' ');
+ }
+ return false;
+ }
+
+ // Begin encrypted connection
+ if(!stream_socket_enable_crypto($this->smtp_conn, true, STREAM_CRYPTO_METHOD_TLS_CLIENT)) {
+ return false;
+ }
+
+ return true;
+ }
+
+ /**
+ * Performs SMTP authentication. Must be run after running the
+ * Hello() method. Returns true if successfully authenticated.
+ * @access public
+ * @param string $username
+ * @param string $password
+ * @param string $authtype
+ * @param string $realm
+ * @param string $workstation
+ * @return bool
+ */
+ public function Authenticate($username, $password, $authtype='LOGIN', $realm='', $workstation='') {
+ if (empty($authtype)) {
+ $authtype = 'LOGIN';
+ }
+
+ switch ($authtype) {
+ case 'PLAIN':
+ // Start authentication
+ fputs($this->smtp_conn,"AUTH PLAIN" . $this->CRLF);
+
+ $rply = $this->get_lines();
+ $code = substr($rply,0,3);
+
+ if($code != 334) {
+ $this->error =
+ array("error" => "AUTH not accepted from server",
+ "smtp_code" => $code,
+ "smtp_msg" => substr($rply,4));
+ if($this->do_debug >= 1) {
+ $this->edebug("SMTP -> ERROR: " . $this->error["error"] . ": " . $rply . $this->CRLF . ' ');
+ }
+ return false;
+ }
+ // Send encoded username and password
+ fputs($this->smtp_conn, base64_encode("\0".$username."\0".$password) . $this->CRLF);
+
+ $rply = $this->get_lines();
+ $code = substr($rply,0,3);
+
+ if($code != 235) {
+ $this->error =
+ array("error" => "Authentication not accepted from server",
+ "smtp_code" => $code,
+ "smtp_msg" => substr($rply,4));
+ if($this->do_debug >= 1) {
+ $this->edebug("SMTP -> ERROR: " . $this->error["error"] . ": " . $rply . $this->CRLF . ' ');
+ }
+ return false;
+ }
+ break;
+ case 'LOGIN':
+ // Start authentication
+ fputs($this->smtp_conn,"AUTH LOGIN" . $this->CRLF);
+
+ $rply = $this->get_lines();
+ $code = substr($rply,0,3);
+
+ if($code != 334) {
+ $this->error =
+ array("error" => "AUTH not accepted from server",
+ "smtp_code" => $code,
+ "smtp_msg" => substr($rply,4));
+ if($this->do_debug >= 1) {
+ $this->edebug("SMTP -> ERROR: " . $this->error["error"] . ": " . $rply . $this->CRLF . ' ');
+ }
+ return false;
+ }
+
+ // Send encoded username
+ fputs($this->smtp_conn, base64_encode($username) . $this->CRLF);
+
+ $rply = $this->get_lines();
+ $code = substr($rply,0,3);
+
+ if($code != 334) {
+ $this->error =
+ array("error" => "Username not accepted from server",
+ "smtp_code" => $code,
+ "smtp_msg" => substr($rply,4));
+ if($this->do_debug >= 1) {
+ $this->edebug("SMTP -> ERROR: " . $this->error["error"] . ": " . $rply . $this->CRLF . ' ');
+ }
+ return false;
+ }
+
+ // Send encoded password
+ fputs($this->smtp_conn, base64_encode($password) . $this->CRLF);
+
+ $rply = $this->get_lines();
+ $code = substr($rply,0,3);
+
+ if($code != 235) {
+ $this->error =
+ array("error" => "Password not accepted from server",
+ "smtp_code" => $code,
+ "smtp_msg" => substr($rply,4));
+ if($this->do_debug >= 1) {
+ $this->edebug("SMTP -> ERROR: " . $this->error["error"] . ": " . $rply . $this->CRLF . ' ');
+ }
+ return false;
+ }
+ break;
+ case 'NTLM':
+ /*
+ * ntlm_sasl_client.php
+ ** Bundled with Permission
+ **
+ ** How to telnet in windows: http://technet.microsoft.com/en-us/library/aa995718%28EXCHG.65%29.aspx
+ ** PROTOCOL Documentation http://curl.haxx.se/rfc/ntlm.html#ntlmSmtpAuthentication
+ */
+ require_once('ntlm_sasl_client.php');
+ $temp = new stdClass();
+ $ntlm_client = new ntlm_sasl_client_class;
+ if(! $ntlm_client->Initialize($temp)){//let's test if every function its available
+ $this->error = array("error" => $temp->error);
+ if($this->do_debug >= 1) {
+ $this->edebug("You need to enable some modules in your php.ini file: " . $this->error["error"] . $this->CRLF);
+ }
+ return false;
+ }
+ $msg1 = $ntlm_client->TypeMsg1($realm, $workstation);//msg1
+
+ fputs($this->smtp_conn,"AUTH NTLM " . base64_encode($msg1) . $this->CRLF);
+
+ $rply = $this->get_lines();
+ $code = substr($rply,0,3);
+
+
+ if($code != 334) {
+ $this->error =
+ array("error" => "AUTH not accepted from server",
+ "smtp_code" => $code,
+ "smtp_msg" => substr($rply,4));
+ if($this->do_debug >= 1) {
+ $this->edebug("SMTP -> ERROR: " . $this->error["error"] . ": " . $rply . $this->CRLF);
+ }
+ return false;
+ }
+
+ $challange = substr($rply,3);//though 0 based, there is a white space after the 3 digit number....//msg2
+ $challange = base64_decode($challange);
+ $ntlm_res = $ntlm_client->NTLMResponse(substr($challange,24,8),$password);
+ $msg3 = $ntlm_client->TypeMsg3($ntlm_res,$username,$realm,$workstation);//msg3
+ // Send encoded username
+ fputs($this->smtp_conn, base64_encode($msg3) . $this->CRLF);
+
+ $rply = $this->get_lines();
+ $code = substr($rply,0,3);
+
+ if($code != 235) {
+ $this->error =
+ array("error" => "Could not authenticate",
+ "smtp_code" => $code,
+ "smtp_msg" => substr($rply,4));
+ if($this->do_debug >= 1) {
+ $this->edebug("SMTP -> ERROR: " . $this->error["error"] . ": " . $rply . $this->CRLF);
+ }
+ return false;
+ }
+ break;
+ }
+ return true;
+ }
+
+ /**
+ * Returns true if connected to a server otherwise false
+ * @access public
+ * @return bool
+ */
+ public function Connected() {
+ if(!empty($this->smtp_conn)) {
+ $sock_status = socket_get_status($this->smtp_conn);
+ if($sock_status["eof"]) {
+ // the socket is valid but we are not connected
+ if($this->do_debug >= 1) {
+ $this->edebug("SMTP -> NOTICE:" . $this->CRLF . "EOF caught while checking if connected");
+ }
+ $this->Close();
+ return false;
+ }
+ return true; // everything looks good
+ }
+ return false;
+ }
+
+ /**
+ * Closes the socket and cleans up the state of the class.
+ * It is not considered good to use this function without
+ * first trying to use QUIT.
+ * @access public
+ * @return void
+ */
+ public function Close() {
+ $this->error = null; // so there is no confusion
+ $this->helo_rply = null;
+ if(!empty($this->smtp_conn)) {
+ // close the connection and cleanup
+ fclose($this->smtp_conn);
+ $this->smtp_conn = 0;
+ }
+ }
+
+ /////////////////////////////////////////////////
+ // SMTP COMMANDS
+ /////////////////////////////////////////////////
+
+ /**
+ * Issues a data command and sends the msg_data to the server
+ * finializing the mail transaction. $msg_data is the message
+ * that is to be send with the headers. Each header needs to be
+ * on a single line followed by a with the message headers
+ * and the message body being seperated by and additional .
+ *
+ * Implements rfc 821: DATA
+ *
+ * SMTP CODE INTERMEDIATE: 354
+ * [data]
+ * .
+ * SMTP CODE SUCCESS: 250
+ * SMTP CODE FAILURE: 552,554,451,452
+ * SMTP CODE FAILURE: 451,554
+ * SMTP CODE ERROR : 500,501,503,421
+ * @access public
+ * @param string $msg_data
+ * @return bool
+ */
+ public function Data($msg_data) {
+ $this->error = null; // so no confusion is caused
+
+ if(!$this->connected()) {
+ $this->error = array(
+ "error" => "Called Data() without being connected");
+ return false;
+ }
+
+ fputs($this->smtp_conn,"DATA" . $this->CRLF);
+
+ $rply = $this->get_lines();
+ $code = substr($rply,0,3);
+
+ if($this->do_debug >= 2) {
+ $this->edebug("SMTP -> FROM SERVER:" . $rply . $this->CRLF . ' ');
+ }
+
+ if($code != 354) {
+ $this->error =
+ array("error" => "DATA command not accepted from server",
+ "smtp_code" => $code,
+ "smtp_msg" => substr($rply,4));
+ if($this->do_debug >= 1) {
+ $this->edebug("SMTP -> ERROR: " . $this->error["error"] . ": " . $rply . $this->CRLF . ' ');
+ }
+ return false;
+ }
+
+ /* the server is ready to accept data!
+ * according to rfc 821 we should not send more than 1000
+ * including the CRLF
+ * characters on a single line so we will break the data up
+ * into lines by \r and/or \n then if needed we will break
+ * each of those into smaller lines to fit within the limit.
+ * in addition we will be looking for lines that start with
+ * a period '.' and append and additional period '.' to that
+ * line. NOTE: this does not count towards limit.
+ */
+
+ // normalize the line breaks so we know the explode works
+ $msg_data = str_replace("\r\n","\n",$msg_data);
+ $msg_data = str_replace("\r","\n",$msg_data);
+ $lines = explode("\n",$msg_data);
+
+ /* we need to find a good way to determine is headers are
+ * in the msg_data or if it is a straight msg body
+ * currently I am assuming rfc 822 definitions of msg headers
+ * and if the first field of the first line (':' sperated)
+ * does not contain a space then it _should_ be a header
+ * and we can process all lines before a blank "" line as
+ * headers.
+ */
+
+ $field = substr($lines[0],0,strpos($lines[0],":"));
+ $in_headers = false;
+ if(!empty($field) && !strstr($field," ")) {
+ $in_headers = true;
+ }
+
+ $max_line_length = 998; // used below; set here for ease in change
+
+ while(list(,$line) = @each($lines)) {
+ $lines_out = null;
+ if($line == "" && $in_headers) {
+ $in_headers = false;
+ }
+ // ok we need to break this line up into several smaller lines
+ while(strlen($line) > $max_line_length) {
+ $pos = strrpos(substr($line,0,$max_line_length)," ");
+
+ // Patch to fix DOS attack
+ if(!$pos) {
+ $pos = $max_line_length - 1;
+ $lines_out[] = substr($line,0,$pos);
+ $line = substr($line,$pos);
+ } else {
+ $lines_out[] = substr($line,0,$pos);
+ $line = substr($line,$pos + 1);
+ }
+
+ /* if processing headers add a LWSP-char to the front of new line
+ * rfc 822 on long msg headers
+ */
+ if($in_headers) {
+ $line = "\t" . $line;
+ }
+ }
+ $lines_out[] = $line;
+
+ // send the lines to the server
+ while(list(,$line_out) = @each($lines_out)) {
+ if(strlen($line_out) > 0)
+ {
+ if(substr($line_out, 0, 1) == ".") {
+ $line_out = "." . $line_out;
+ }
+ }
+ fputs($this->smtp_conn,$line_out . $this->CRLF);
+ }
+ }
+
+ // message data has been sent
+ fputs($this->smtp_conn, $this->CRLF . "." . $this->CRLF);
+
+ $rply = $this->get_lines();
+ $code = substr($rply,0,3);
+
+ if($this->do_debug >= 2) {
+ $this->edebug("SMTP -> FROM SERVER:" . $rply . $this->CRLF . ' ');
+ }
+
+ if($code != 250) {
+ $this->error =
+ array("error" => "DATA not accepted from server",
+ "smtp_code" => $code,
+ "smtp_msg" => substr($rply,4));
+ if($this->do_debug >= 1) {
+ $this->edebug("SMTP -> ERROR: " . $this->error["error"] . ": " . $rply . $this->CRLF . ' ');
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * Sends the HELO command to the smtp server.
+ * This makes sure that we and the server are in
+ * the same known state.
+ *
+ * Implements from rfc 821: HELO
+ *
+ * SMTP CODE SUCCESS: 250
+ * SMTP CODE ERROR : 500, 501, 504, 421
+ * @access public
+ * @param string $host
+ * @return bool
+ */
+ public function Hello($host = '') {
+ $this->error = null; // so no confusion is caused
+
+ if(!$this->connected()) {
+ $this->error = array(
+ "error" => "Called Hello() without being connected");
+ return false;
+ }
+
+ // if hostname for HELO was not specified send default
+ if(empty($host)) {
+ // determine appropriate default to send to server
+ $host = "localhost";
+ }
+
+ // Send extended hello first (RFC 2821)
+ if(!$this->SendHello("EHLO", $host)) {
+ if(!$this->SendHello("HELO", $host)) {
+ return false;
+ }
+ }
+
+ return true;
+ }
+
+ /**
+ * Sends a HELO/EHLO command.
+ * @access private
+ * @param string $hello
+ * @param string $host
+ * @return bool
+ */
+ private function SendHello($hello, $host) {
+ fputs($this->smtp_conn, $hello . " " . $host . $this->CRLF);
+
+ $rply = $this->get_lines();
+ $code = substr($rply,0,3);
+
+ if($this->do_debug >= 2) {
+ $this->edebug("SMTP -> FROM SERVER: " . $rply . $this->CRLF . ' ');
+ }
+
+ if($code != 250) {
+ $this->error =
+ array("error" => $hello . " not accepted from server",
+ "smtp_code" => $code,
+ "smtp_msg" => substr($rply,4));
+ if($this->do_debug >= 1) {
+ $this->edebug("SMTP -> ERROR: " . $this->error["error"] . ": " . $rply . $this->CRLF . ' ');
+ }
+ return false;
+ }
+
+ $this->helo_rply = $rply;
+
+ return true;
+ }
+
+ /**
+ * Starts a mail transaction from the email address specified in
+ * $from. Returns true if successful or false otherwise. If True
+ * the mail transaction is started and then one or more Recipient
+ * commands may be called followed by a Data command.
+ *
+ * Implements rfc 821: MAIL FROM:
+ *
+ * SMTP CODE SUCCESS: 250
+ * SMTP CODE SUCCESS: 552,451,452
+ * SMTP CODE SUCCESS: 500,501,421
+ * @access public
+ * @param string $from
+ * @return bool
+ */
+ public function Mail($from) {
+ $this->error = null; // so no confusion is caused
+
+ if(!$this->connected()) {
+ $this->error = array(
+ "error" => "Called Mail() without being connected");
+ return false;
+ }
+
+ $useVerp = ($this->do_verp ? " XVERP" : "");
+ fputs($this->smtp_conn,"MAIL FROM:<" . $from . ">" . $useVerp . $this->CRLF);
+
+ $rply = $this->get_lines();
+ $code = substr($rply,0,3);
+
+ if($this->do_debug >= 2) {
+ $this->edebug("SMTP -> FROM SERVER:" . $rply . $this->CRLF . ' ');
+ }
+
+ if($code != 250) {
+ $this->error =
+ array("error" => "MAIL not accepted from server",
+ "smtp_code" => $code,
+ "smtp_msg" => substr($rply,4));
+ if($this->do_debug >= 1) {
+ $this->edebug("SMTP -> ERROR: " . $this->error["error"] . ": " . $rply . $this->CRLF . ' ');
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * Sends the quit command to the server and then closes the socket
+ * if there is no error or the $close_on_error argument is true.
+ *
+ * Implements from rfc 821: QUIT
+ *
+ * SMTP CODE SUCCESS: 221
+ * SMTP CODE ERROR : 500
+ * @access public
+ * @param bool $close_on_error
+ * @return bool
+ */
+ public function Quit($close_on_error = true) {
+ $this->error = null; // so there is no confusion
+
+ if(!$this->connected()) {
+ $this->error = array(
+ "error" => "Called Quit() without being connected");
+ return false;
+ }
+
+ // send the quit command to the server
+ fputs($this->smtp_conn,"quit" . $this->CRLF);
+
+ // get any good-bye messages
+ $byemsg = $this->get_lines();
+
+ if($this->do_debug >= 2) {
+ $this->edebug("SMTP -> FROM SERVER:" . $byemsg . $this->CRLF . ' ');
+ }
+
+ $rval = true;
+ $e = null;
+
+ $code = substr($byemsg,0,3);
+ if($code != 221) {
+ // use e as a tmp var cause Close will overwrite $this->error
+ $e = array("error" => "SMTP server rejected quit command",
+ "smtp_code" => $code,
+ "smtp_rply" => substr($byemsg,4));
+ $rval = false;
+ if($this->do_debug >= 1) {
+ $this->edebug("SMTP -> ERROR: " . $e["error"] . ": " . $byemsg . $this->CRLF . ' ');
+ }
+ }
+
+ if(empty($e) || $close_on_error) {
+ $this->Close();
+ }
+
+ return $rval;
+ }
+
+ /**
+ * Sends the command RCPT to the SMTP server with the TO: argument of $to.
+ * Returns true if the recipient was accepted false if it was rejected.
+ *
+ * Implements from rfc 821: RCPT TO:
+ *
+ * SMTP CODE SUCCESS: 250,251
+ * SMTP CODE FAILURE: 550,551,552,553,450,451,452
+ * SMTP CODE ERROR : 500,501,503,421
+ * @access public
+ * @param string $to
+ * @return bool
+ */
+ public function Recipient($to) {
+ $this->error = null; // so no confusion is caused
+
+ if(!$this->connected()) {
+ $this->error = array(
+ "error" => "Called Recipient() without being connected");
+ return false;
+ }
+
+ fputs($this->smtp_conn,"RCPT TO:<" . $to . ">" . $this->CRLF);
+
+ $rply = $this->get_lines();
+ $code = substr($rply,0,3);
+
+ if($this->do_debug >= 2) {
+ $this->edebug("SMTP -> FROM SERVER:" . $rply . $this->CRLF . ' ');
+ }
+
+ if($code != 250 && $code != 251) {
+ $this->error =
+ array("error" => "RCPT not accepted from server",
+ "smtp_code" => $code,
+ "smtp_msg" => substr($rply,4));
+ if($this->do_debug >= 1) {
+ $this->edebug("SMTP -> ERROR: " . $this->error["error"] . ": " . $rply . $this->CRLF . ' ');
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * Sends the RSET command to abort and transaction that is
+ * currently in progress. Returns true if successful false
+ * otherwise.
+ *
+ * Implements rfc 821: RSET
+ *
+ * SMTP CODE SUCCESS: 250
+ * SMTP CODE ERROR : 500,501,504,421
+ * @access public
+ * @return bool
+ */
+ public function Reset() {
+ $this->error = null; // so no confusion is caused
+
+ if(!$this->connected()) {
+ $this->error = array(
+ "error" => "Called Reset() without being connected");
+ return false;
+ }
+
+ fputs($this->smtp_conn,"RSET" . $this->CRLF);
+
+ $rply = $this->get_lines();
+ $code = substr($rply,0,3);
+
+ if($this->do_debug >= 2) {
+ $this->edebug("SMTP -> FROM SERVER:" . $rply . $this->CRLF . ' ');
+ }
+
+ if($code != 250) {
+ $this->error =
+ array("error" => "RSET failed",
+ "smtp_code" => $code,
+ "smtp_msg" => substr($rply,4));
+ if($this->do_debug >= 1) {
+ $this->edebug("SMTP -> ERROR: " . $this->error["error"] . ": " . $rply . $this->CRLF . ' ');
+ }
+ return false;
+ }
+
+ return true;
+ }
+
+ /**
+ * Starts a mail transaction from the email address specified in
+ * $from. Returns true if successful or false otherwise. If True
+ * the mail transaction is started and then one or more Recipient
+ * commands may be called followed by a Data command. This command
+ * will send the message to the users terminal if they are logged
+ * in and send them an email.
+ *
+ * Implements rfc 821: SAML FROM:
+ *
+ * SMTP CODE SUCCESS: 250
+ * SMTP CODE SUCCESS: 552,451,452
+ * SMTP CODE SUCCESS: 500,501,502,421
+ * @access public
+ * @param string $from
+ * @return bool
+ */
+ public function SendAndMail($from) {
+ $this->error = null; // so no confusion is caused
+
+ if(!$this->connected()) {
+ $this->error = array(
+ "error" => "Called SendAndMail() without being connected");
+ return false;
+ }
+
+ fputs($this->smtp_conn,"SAML FROM:" . $from . $this->CRLF);
+
+ $rply = $this->get_lines();
+ $code = substr($rply,0,3);
+
+ if($this->do_debug >= 2) {
+ $this->edebug("SMTP -> FROM SERVER:" . $rply . $this->CRLF . ' ');
+ }
+
+ if($code != 250) {
+ $this->error =
+ array("error" => "SAML not accepted from server",
+ "smtp_code" => $code,
+ "smtp_msg" => substr($rply,4));
+ if($this->do_debug >= 1) {
+ $this->edebug("SMTP -> ERROR: " . $this->error["error"] . ": " . $rply . $this->CRLF . ' ');
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * This is an optional command for SMTP that this class does not
+ * support. This method is here to make the RFC821 Definition
+ * complete for this class and __may__ be implimented in the future
+ *
+ * Implements from rfc 821: TURN
+ *
+ * SMTP CODE SUCCESS: 250
+ * SMTP CODE FAILURE: 502
+ * SMTP CODE ERROR : 500, 503
+ * @access public
+ * @return bool
+ */
+ public function Turn() {
+ $this->error = array("error" => "This method, TURN, of the SMTP ".
+ "is not implemented");
+ if($this->do_debug >= 1) {
+ $this->edebug("SMTP -> NOTICE: " . $this->error["error"] . $this->CRLF . ' ');
+ }
+ return false;
+ }
+
+ /**
+ * Get the current error
+ * @access public
+ * @return array
+ */
+ public function getError() {
+ return $this->error;
+ }
+
+ /////////////////////////////////////////////////
+ // INTERNAL FUNCTIONS
+ /////////////////////////////////////////////////
+
+ /**
+ * Read in as many lines as possible
+ * either before eof or socket timeout occurs on the operation.
+ * With SMTP we can tell if we have more lines to read if the
+ * 4th character is '-' symbol. If it is a space then we don't
+ * need to read anything else.
+ * @access private
+ * @return string
+ */
+ private function get_lines() {
+ $data = "";
+ $endtime = 0;
+ /* If for some reason the fp is bad, don't inf loop */
+ if (!is_resource($this->smtp_conn)) {
+ return $data;
+ }
+ stream_set_timeout($this->smtp_conn, $this->Timeout);
+ if ($this->Timelimit > 0) {
+ $endtime = time() + $this->Timelimit;
+ }
+ while(is_resource($this->smtp_conn) && !feof($this->smtp_conn)) {
+ $str = @fgets($this->smtp_conn,515);
+ if($this->do_debug >= 4) {
+ $this->edebug("SMTP -> get_lines(): \$data was \"$data\"" . $this->CRLF . ' ');
+ $this->edebug("SMTP -> get_lines(): \$str is \"$str\"" . $this->CRLF . ' ');
+ }
+ $data .= $str;
+ if($this->do_debug >= 4) {
+ $this->edebug("SMTP -> get_lines(): \$data is \"$data\"" . $this->CRLF . ' ');
+ }
+ // if 4th character is a space, we are done reading, break the loop
+ if(substr($str,3,1) == " ") { break; }
+ // Timed-out? Log and break
+ $info = stream_get_meta_data($this->smtp_conn);
+ if ($info['timed_out']) {
+ if($this->do_debug >= 4) {
+ $this->edebug("SMTP -> get_lines(): timed-out (" . $this->Timeout . " seconds) ");
+ }
+ break;
+ }
+ // Now check if reads took too long
+ if ($endtime) {
+ if (time() > $endtime) {
+ if($this->do_debug >= 4) {
+ $this->edebug("SMTP -> get_lines(): timelimit reached (" . $this->Timelimit . " seconds) ");
+ }
+ break;
+ }
+ }
+ }
+ return $data;
+ }
+
+}
+?>
diff --git a/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs.ini b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs.ini
new file mode 100644
index 0000000..6906eb0
--- /dev/null
+++ b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs.ini
@@ -0,0 +1,92 @@
+;; phpDocumentor parse configuration file
+;;
+;; This file is designed to cut down on repetitive typing on the command-line or web interface
+;; You can copy this file to create a number of configuration files that can be used with the
+;; command-line switch -c, as in phpdoc -c default.ini or phpdoc -c myini.ini. The web
+;; interface will automatically generate a list of .ini files that can be used.
+;;
+;; default.ini is used to generate the online manual at http://www.phpdoc.org/docs
+;;
+;; ALL .ini files must be in the user subdirectory of phpDocumentor with an extension of .ini
+;;
+;; Copyright 2002, Greg Beaver
+;;
+;; WARNING: do not change the name of any command-line parameters, phpDocumentor will ignore them
+
+[Parse Data]
+;; title of all the documentation
+;; legal values: any string
+title = PHPMailer Documentation
+
+;; parse files that start with a . like .bash_profile
+;; legal values: true, false
+hidden = false
+
+;; show elements marked @access private in documentation by setting this to on
+;; legal values: on, off
+parseprivate = on
+
+;; parse with javadoc-like description (first sentence is always the short description)
+;; legal values: on, off
+javadocdesc = off
+
+;; add any custom @tags separated by commas here
+;; legal values: any legal tagname separated by commas.
+;customtags = mytag1,mytag2
+
+;; This is only used by the XML:DocBook/peardoc2 converter
+defaultcategoryname = Documentation
+
+;; what is the main package?
+;; legal values: alphanumeric string plus - and _
+defaultpackagename = PHPMailer
+
+;; output any parsing information? set to on for cron jobs
+;; legal values: on
+;quiet = on
+
+;; parse a PEAR-style repository. Do not turn this on if your project does
+;; not have a parent directory named "pear"
+;; legal values: on/off
+;pear = on
+
+;; where should the documentation be written?
+;; legal values: a legal path
+target = ./phpdoc
+
+;; limit output to the specified packages, even if others are parsed
+;; legal values: package names separated by commas
+;packageoutput = package1,package2
+
+;; comma-separated list of files to parse
+;; legal values: paths separated by commas
+;filename = /path/to/file1,/path/to/file2,fileincurrentdirectory
+filename = *.php
+
+;; comma-separated list of directories to parse
+;; legal values: directory paths separated by commas
+;directory = /path1,/path2,.,..,subdirectory
+;directory = /home/jeichorn/cvs/pear
+;;directory = .
+
+;; template base directory (the equivalent directory of /phpDocumentor)
+;templatebase = /path/to/my/templates
+
+;; comma-separated list of files, directories or wildcards ? and * (any wildcard) to ignore
+;; legal values: any wildcard strings separated by commas
+;ignore = /path/to/ignore*,*list.php,myfile.php,subdirectory/
+ignore = templates_c/,*HTML/default/*,spec/,*CVS*,*.txt,docs/,phpdoc/,examples/,test/
+
+;; comma-separated list of Converters to use in outputformat:Convertername:templatedirectory format
+;; legal values: HTML:frames:default,HTML:frames:l0l33t,HTML:frames:phpdoc.de,HTML:frames:phphtmllib,
+;; HTML:frames:earthli,
+;; HTML:frames:DOM/default,HTML:frames:DOM/l0l33t,HTML:frames:DOM/phpdoc.de,
+;; HTML:frames:DOM/phphtmllib,HTML:frames:DOM/earthli
+;; HTML:Smarty:default,HTML:Smarty:PHP,HTML:Smarty:HandS
+;; PDF:default:default,CHM:default:default,XML:DocBook/peardoc2:default
+;;output=HTML:frames:earthli
+output=HTML:Smarty:HandS
+
+;; turn this option on if you want highlighted source code for every file
+;; legal values: on/off
+sourcecode = on
diff --git a/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/Callback_function_notes.txt b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/Callback_function_notes.txt
new file mode 100644
index 0000000..461ea50
--- /dev/null
+++ b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/Callback_function_notes.txt
@@ -0,0 +1,17 @@
+NEW CALLBACK FUNCTION:
+======================
+
+We have had requests for a method to process the results of sending emails
+through PHPMailer. In this new release, we have implemented a callback
+function that passes the results of each email sent (to, cc, and/or bcc).
+We have provided an example that echos the results back to the screen. The
+callback function can be used for any purpose. With minor modifications, the
+callback function can be used to create CSV logs, post results to databases,
+etc.
+
+Please review the test.php script for the example.
+
+It's pretty straight forward.
+
+Enjoy!
+Andy
diff --git a/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/DomainKeys_notes.txt b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/DomainKeys_notes.txt
new file mode 100644
index 0000000..2ad10f1
--- /dev/null
+++ b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/DomainKeys_notes.txt
@@ -0,0 +1,55 @@
+CREATE DKIM KEYS and DNS Resource Record:
+=========================================
+
+To create DomainKeys Identified Mail keys, visit:
+http://dkim.worxware.com/
+... read the information, fill in the form, and download the ZIP file
+containing the public key, private key, DNS Resource Record and instructions
+to add to your DNS Zone Record, and the PHPMailer code to enable DKIM
+digital signing.
+
+/*** PROTECT YOUR PRIVATE & PUBLIC KEYS ***/
+
+You need to protect your DKIM private and public keys from being viewed or
+accessed. Add protection to your .htaccess file as in this example:
+
+# secure htkeyprivate file
+
+ order allow,deny
+ deny from all
+
+
+# secure htkeypublic file
+
+ order allow,deny
+ deny from all
+
+
+(the actual .htaccess additions are in the ZIP file sent back to you from
+http://dkim.worxware.com/
+
+A few notes on using DomainKey Identified Mail (DKIM):
+
+You do not need to use PHPMailer to DKIM sign emails IF:
+- you enable DomainKey support and add the DNS resource record
+- you use your outbound mail server
+
+If you are a third-party emailer that works on behalf of domain owners to
+send their emails from your own server:
+- you absolutely have to DKIM sign outbound emails
+- the domain owner has to add the DNS resource record to match the
+ private key, public key, selector, identity, and domain that you create
+- use caution with the "selector" ... at least one "selector" will already
+ exist in the DNS Zone Record of the domain at the domain owner's server
+ you need to ensure that the "selector" you use is unique
+Note: since the IP address will not match the domain owner's DNS Zone record
+you can be certain that email providers that validate based on DomainKey will
+check the domain owner's DNS Zone record for your DNS resource record. Before
+sending out emails on behalf of domain owners, ensure they have entered the
+DNS resource record you provided them.
+
+Enjoy!
+Andy
+
+PS. if you need additional information about DKIM, please see:
+http://www.dkim.org/info/dkim-faq.html
diff --git a/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/Note_for_SMTP_debugging.txt b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/Note_for_SMTP_debugging.txt
new file mode 100644
index 0000000..afb5b58
--- /dev/null
+++ b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/Note_for_SMTP_debugging.txt
@@ -0,0 +1,23 @@
+If you are having problems connecting or sending emails through your SMTP server, please note:
+
+1. The new rewrite of class.smtp.php provides more information about the processing/errors taking place
+2. Use the debug functionality of class.smtp.php. To do that, in your own script add the debug level you wish to use. An example of that is:
+
+$mail->SMTPDebug = 1;
+$mail->IsSMTP(); // telling the class to use SMTP
+$mail->SMTPAuth = true; // enable SMTP authentication
+$mail->Port = 26; // set the SMTP port
+$mail->Host = "mail.yourhost.com"; // SMTP server
+$mail->Username = "name@yourhost.com"; // SMTP account username
+$mail->Password = "your password"; // SMTP account password
+
+Notes on this:
+$mail->SMTPDebug = 0; ... will disable debugging (you can also leave this out completely, 0 is the default
+$mail->SMTPDebug = 1; ... will echo errors and messages
+$mail->SMTPDebug = 2; ... will echo messages only
+... and finally, the options are 0, 1, and 2 ... any number greater than 2 will be interpreted as 2
+
+And finally, don't forget to disable debugging before going into production.
+
+Enjoy!
+Andy
\ No newline at end of file
diff --git a/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/extending.html b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/extending.html
new file mode 100644
index 0000000..310f97a
--- /dev/null
+++ b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/extending.html
@@ -0,0 +1,148 @@
+
+
+Examples using phpmailer
+
+
+
+
+Examples using phpmailer
+
+1. Advanced Example
+
+
+This demonstrates sending out multiple email messages with binary attachments
+from a MySQL database with multipart/alternative support.
+
+
+
+
+require("class.phpmailer.php");
+
+$mail = new phpmailer();
+
+$mail->From = "list@example.com";
+$mail->FromName = "List manager";
+$mail->Host = "smtp1.example.com;smtp2.example.com";
+$mail->Mailer = "smtp";
+
+@MYSQL_CONNECT("localhost","root","password");
+@mysql_select_db("my_company");
+$query = "SELECT full_name, email, photo FROM employee WHERE id=$id";
+$result = @MYSQL_QUERY($query);
+
+while ($row = mysql_fetch_array ($result))
+{
+ // HTML body
+ $body = "Hello <font size=\"4\">" . $row["full_name"] . "</font>, <p>";
+ $body .= "<i>Your</i> personal photograph to this message.<p>";
+ $body .= "Sincerely, <br>";
+ $body .= "phpmailer List manager";
+
+ // Plain text body (for mail clients that cannot read HTML)
+ $text_body = "Hello " . $row["full_name"] . ", \n\n";
+ $text_body .= "Your personal photograph to this message.\n\n";
+ $text_body .= "Sincerely, \n";
+ $text_body .= "phpmailer List manager";
+
+ $mail->Body = $body;
+ $mail->AltBody = $text_body;
+ $mail->AddAddress($row["email"], $row["full_name"]);
+ $mail->AddStringAttachment($row["photo"], "YourPhoto.jpg");
+
+ if(!$mail->Send())
+ echo "There has been a mail error sending to " . $row["email"] . "<br>";
+
+ // Clear all addresses and attachments for next loop
+ $mail->ClearAddresses();
+ $mail->ClearAttachments();
+}
+
+
+
+
+
+
+
2. Extending phpmailer
+
+
+Extending classes with inheritance is one of the most
+powerful features of object-oriented
+programming. It allows you to make changes to the
+original class for your
+own personal use without hacking the original
+classes. Plus, it is very
+easy to do. I've provided an example:
+
+
+Here's a class that extends the phpmailer class and sets the defaults
+for the particular site:
+PHP include file: mail.inc.php
+
+
+
+
+
+
+require("class.phpmailer.php");
+
+class my_phpmailer extends phpmailer {
+ // Set default variables for all new objects
+ var $From = "from@example.com";
+ var $FromName = "Mailer";
+ var $Host = "smtp1.example.com;smtp2.example.com";
+ var $Mailer = "smtp"; // Alternative to IsSMTP()
+ var $WordWrap = 75;
+
+ // Replace the default error_handler
+ function error_handler($msg) {
+ print("My Site Error");
+ print("Description:");
+ printf("%s", $msg);
+ exit;
+ }
+
+ // Create an additional function
+ function do_something($something) {
+ // Place your new code here
+ }
+}
+
+
+
+
+
+Now here's a normal PHP page in the site, which will have all the defaults set
+above:
+Normal PHP file: mail_test.php
+
+
+
+
+
+
+require("mail.inc.php");
+
+// Instantiate your new class
+$mail = new my_phpmailer;
+
+// Now you only need to add the necessary stuff
+$mail->AddAddress("josh@example.com", "Josh Adams");
+$mail->Subject = "Here is the subject";
+$mail->Body = "This is the message body";
+$mail->AddAttachment("c:/temp/11-10-00.zip", "new_name.zip"); // optional name
+
+if(!$mail->Send())
+{
+ echo "There was an error sending the message";
+ exit;
+}
+
+echo "Message was sent successfully";
+
+
+
+
+
+
+
+
diff --git a/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/faq.html b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/faq.html
new file mode 100644
index 0000000..f71c6c8
--- /dev/null
+++ b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/faq.html
@@ -0,0 +1,67 @@
+
+
+PHPMailer FAQ
+
+
+
+
+
+
PHPMailer FAQ
+
+
+ Q: I'm using the SMTP mailer and I keep on getting a timeout message
+ well before the X seconds I set it for. What gives?
+ A: PHP versions 4.0.4pl1 and earlier have a bug in which sockets timeout
+ early. You can fix this by re-compiling PHP 4.0.4pl1 with this fix:
+ timeoutfix.diff . Otherwise you can wait for the new PHP release.
+
+ Q: I am concerned that using include files will take up too much
+ processing time on my computer. How can I make it run faster?
+ A: PHP by itself is very fast. Much faster than ASP or JSP running on
+ the same type of server. This is because it has very little overhead compared
+ to its competitors and it pre-compiles all of
+ its code before it runs each script (in PHP4). However, all of
+ this compiling and re-compiling can take up a lot of valuable
+ computer resources. However, there are programs out there that compile
+ PHP code and store it in memory (or on mmaped files) to reduce the
+ processing immensely. Two of these: APC
+ (Alternative PHP Cache) and Afterburner
+ (Win32 download )
+ are excellent free tools that do just this. If you have the money
+ you might also try Zend Cache , it is
+ even faster than the open source varieties. All of these tools make your
+ scripts run faster while also reducing the load on your server. I have tried
+ them myself and they are quite stable too.
+
+ Q: What mailer gives me the best performance?
+ A: On a single machine the sendmail (or Qmail) is fastest overall.
+ Next fastest is mail() to give you the best performance. Both do not have the overhead of SMTP.
+ If you have you have your mail server on a another machine then
+ SMTP is your only option, but you do get the benefit of redundant mail servers.
+ If you are running a mailing list with thousands of names, the fastest mailers in order are: SMTP, sendmail (or Qmail), mail().
+
+ Q: When I try to attach a file with on my server I get a
+ "Could not find {file} on filesystem error". Why is this?
+ A: If you are using a Unix machine this is probably because the user
+ running your web server does not have read access to the directory in question. If you are using Windows,
+ then the problem probably is that you have used single backslashes to denote directories (\).
+ A single backslash has a special meaning to PHP so these are not
+ valid. Instead use double backslashes ("\\") or a single forward
+ slash ("/").
+
+
+
+
+
+
+
+
diff --git a/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/classes.svg b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/classes.svg
new file mode 100644
index 0000000..5083289
--- /dev/null
+++ b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/classes.svg
@@ -0,0 +1,59 @@
+
+
+
+
+
+
+G
+
+cluster_global
+
+global
+
+
+\\PHPMailer
+
+
+PHPMailer
+
+
+
+
+\\phpmailerException
+
+
+phpmailerException
+
+
+
+
+\\Exception
+
+\Exception
+
+
+\\phpmailerException->\\Exception
+
+
+
+
+\\POP3
+
+
+POP3
+
+
+
+
+\\SMTP
+
+
+SMTP
+
+
+
+
+
diff --git a/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/classes/PHPMailer.html b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/classes/PHPMailer.html
new file mode 100644
index 0000000..056b427
--- /dev/null
+++ b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/classes/PHPMailer.html
@@ -0,0 +1,2420 @@
+
+
+
+
+
+PHPMailer version 5.2.4 » \PHPMailer
+
+
+
+
+
+
+
+
+
+
+
+
+ Javascript is disabled; several features are only available
+ if Javascript is enabled.
+
+
+
+
Public Protected Private Inherited
+
+
+
+
+Adds a "To" address. AddAddress()
+Adds an attachment from a path on the filesystem. AddAttachment()
+Adds a "Bcc" address. AddBCC()
+Adds a "Cc" address. AddCC()
+Adds a custom header. AddCustomHeader()
+Adds an embedded attachment. AddEmbeddedImage()
+Adds a "Reply-to" address. AddReplyTo()
+Adds a string or binary attachment (non-filesystem) to the list. AddStringAttachment()
+Adds an embedded stringified attachment. AddStringEmbeddedImage()
+Creates recipient headers. AddrAppend()
+Formats an address correctly. AddrFormat()
+Does this message have an alternative body set? AlternativeExists()
+Returns true if an attachment (non-inline) is present. AttachmentExists()
+Correctly encodes and wraps long multibyte strings for mail headers
+without breaking lines within a character. Base64EncodeWrapMB()
+Clears all recipients assigned in the TO array. ClearAddresses()
+Clears all recipients assigned in the TO, CC and BCC
+array. ClearAllRecipients()
+Clears all previously set filesystem, string, and binary
+attachments. ClearAttachments()
+Clears all recipients assigned in the BCC array. ClearBCCs()
+Clears all recipients assigned in the CC array. ClearCCs()
+Clears all custom headers. ClearCustomHeaders()
+Clears all recipients assigned in the ReplyTo array. ClearReplyTos()
+Assembles the message body. CreateBody()
+Assembles message header. CreateHeader()
+Create the DKIM header, body, as new header DKIM_Add()
+Generate DKIM Canonicalization Body DKIM_BodyC()
+Generate DKIM Canonicalization Header DKIM_HeaderC()
+Set the private key file and password to sign the message. DKIM_QP()
+Generate DKIM signature DKIM_Sign()
+Encode a header string to best (shortest) of Q, B, quoted or none. EncodeHeader()
+Encode string to q encoding. EncodeQ()
+Encode string to RFC2045 (6.7) quoted-printable format
+Uses a PHP5 stream filter to do the encoding about 64x faster than the old version
+Also results in same content as you started with after decoding EncodeQP()
+Encodes string to requested format. EncodeString()
+Changes every end of line from CRLF, CR or LF to $this->LE. FixEOL()
+Return the current array of attachments GetAttachments()
+Returns the message MIME. GetMailMIME()
+Returns the MIME message (headers and body). GetSentMIMEMessage()
+Return the current array of language strings GetTranslations()
+Checks if a string contains multibyte characters. HasMultiBytes()
+Returns a formatted header line. HeaderLine()
+Returns true if an inline attachment is present. InlineImageExists()
+Returns true if an error occurred. IsError()
+Sets message type to HTML. IsHTML()
+Sets Mailer to send message using PHP mail() function. IsMail()
+Sets Mailer to send message using the qmail MTA. IsQmail()
+Sets Mailer to send message using SMTP. IsSMTP()
+Sets Mailer to send message using the $Sendmail program. IsSendmail()
+Evaluates the message and returns modifications for inline images and backgrounds MsgHTML()
+Actual Email transport function
+Send the email via the selected mechanism PostSend()
+Prep mail by constructing all message entities PreSend()
+Returns the proper RFC 822 formatted date. RFCDate()
+Strips newlines to prevent header injection. SecureHeader()
+Creates message and assigns Mailer. Send()
+Set the From and FromName properties SetFrom()
+Sets the language for all class error messages. SetLanguage()
+Set the body wrapping. SetWordWrap()
+Set the private key file and password to sign the message. Sign()
+Closes the active SMTP session if one exists. SmtpClose()
+Initiates a connection to an SMTP server. SmtpConnect()
+Returns a formatted mail line. TextLine()
+Finds last character boundary prior to maxLength in a utf-8
+quoted (printable) encoded string. UTF8CharBoundary()
+Check that a string looks roughly like an email address should
+Static so it can be used without instantiation, public so people can overload
+Conforms to RFC5322: Uses *correct* regex on which FILTER_VALIDATE_EMAIL is
+based; So why not use FILTER_VALIDATE_EMAIL? Because it was broken to
+not allow a@b type valid addresses :(
+Some Versions of PHP break on the regex though, likely due to PCRE, so use
+the older validation method for those users. ValidateAddress()
+Wraps message for use with mailers that do not
+automatically perform wrapping and for quoted-printable. WrapText()
+Constructor __construct()
+Gets the MIME type of the embedded or inline image _mime_types()
+Set (or reset) Class Objects (variables) set()
+
+Adds an address to one of the recipient arrays
+Addresses that have been added already return false, but do not throw exceptions AddAnAddress()
+Attaches all fs, string, and binary attachments to the message. AttachAll()
+Encodes attachment in requested format. EncodeFile()
+Returns the end of a message boundary. EndBoundary()
+Returns the start of a message boundary. GetBoundary()
+Returns a message in the appropriate language. Lang()
+Sends mail using the PHP mail() function. MailSend()
+Sends mail using the $Sendmail program. SendmailSend()
+Returns the server hostname or 'localhost.localdomain' if unknown. ServerHostname()
+Adds the error message to the error container. SetError()
+Sets the message type. SetMessageType()
+Sends mail via SMTP using PhpSMTP
+Returns false if there is a bad MAIL FROM, RCPT, or DATA input. SmtpSend()
+Perform callback doCallback()
+
+Outputs debugging info via user-defined method edebug()
+Calls actual mail() function, but in a safe_mode aware fashion
+Also, unless sendmail_path points to sendmail (or something that
+claims to be sendmail), don't pass params (not a perfect fix,
+but it will do) mail_passthru()
+
+Sets the text-only body of the message. $AltBody
+Sets SMTP auth type. $AuthType
+Sets the Body of the message. $Body
+Sets the CharSet of the message. $CharSet
+Sets the email address that a reading confirmation will be sent. $ConfirmReadingTo
+Sets the Content-type of the message. $ContentType
+Used with DKIM Singing
+required if DKIM is enabled, in format of email address 'domain.com' $DKIM_domain
+Used with DKIM Signing
+required if DKIM is enabled, in format of email address 'you@yourdomain.com' typically used as the source of the email $DKIM_identity
+Used with DKIM Signing
+optional parameter if your private key requires a passphras $DKIM_passphrase
+Used with DKIM Signing
+required if DKIM is enabled, path to private key file $DKIM_private
+Used with DKIM Signing
+required parameter if DKIM is enabled $DKIM_selector
+Sets the function/method to use for debugging output. $Debugoutput
+Sets the Encoding of the message. $Encoding
+Holds the most recent mailer error message. $ErrorInfo
+Sets the From email address for the message. $From
+Sets the From name of the message. $FromName
+Sets the SMTP HELO of the message (Default is $Hostname). $Helo
+Sets the SMTP hosts. $Host
+Sets the hostname to use in Message-Id and Received headers
+and as default HELO string. $Hostname
+Provides the ability to change the generic line ending
+NOTE: The default remains '\n'. $LE
+Method to send mail: ("mail", "sendmail", or "smtp"). $Mailer
+Sets the message Date to be used in the Date header. $MessageDate
+Sets the message ID to be used in the Message-Id header. $MessageID
+Sets SMTP password. $Password
+Path to PHPMailer plugins. $PluginDir
+Sets the default SMTP server port. $Port
+Email priority (1 = High, 3 = Normal, 5 = low). $Priority
+Sets SMTP realm. $Realm
+Sets the Return-Path of the message. $ReturnPath
+Sets SMTP authentication. $SMTPAuth
+Sets SMTP class debugging on or off. $SMTPDebug
+Prevents the SMTP connection from being closed after each mail
+sending. $SMTPKeepAlive
+Sets connection prefix. $SMTPSecure
+Sets the Sender email (Return-Path) of the message. $Sender
+Sets the path of the sendmail program. $Sendmail
+Provides the ability to have the TO field process individual
+emails, instead of sending to entire TO addresses $SingleTo
+If SingleTo is true, this provides the array to hold the email addresses $SingleToArray
+Sets the Subject of the message. $Subject
+Sets the SMTP server timeout in seconds. $Timeout
+Determine if mail() uses a fully sendmail compatible MTA that
+supports sendmail's "-oi -f" options $UseSendmailOptions
+Sets SMTP username. $Username
+Sets the PHPMailer Version number $Version
+Sets word wrapping on the body of the message to a given number of
+characters. $WordWrap
+Sets SMTP workstation. $Workstation
+What to use in the X-Mailer header $XMailer
+Callback Action function name. $action_function
+
+<p>An array of custom headers</p> $CustomHeader
+Stores the complete compiled MIME message body. $MIMEBody
+Stores the complete compiled MIME message headers. $MIMEHeader
+<p>An array of reply-to name and address</p>
+ $ReplyTo
+<p>An array of all kinds of addresses: to, cc, bcc, replyto</p> $all_recipients
+<p>An array of attachments</p> $attachment
+<p>An array of 'bcc' addresses</p>
+ $bcc
+<p>An array of MIME boundary strings</p> $boundary
+<p>An array of 'cc' addresses</p>
+ $cc
+<p>The number of errors encountered</p> $error_count
+<p>Whether to throw exceptions for errors</p> $exceptions
+<p>An array of available languages</p> $language
+Stores the extra header list which CreateHeader() doesn't fold in $mailHeader
+<p>The message's MIME type</p>
+ $message_type
+<p>The filename of a DKIM certificate file</p> $sign_cert_file
+<p>The filename of a DKIM key file</p> $sign_key_file
+<p>The password of a DKIM key</p> $sign_key_pass
+<p>An instance of the SMTP sender class</p> $smtp
+<p>An array of 'to' addresses</p>
+ $to
+
+CRLF CRLF
+STOP_CONTINUE STOP_CONTINUE
+STOP_CRITICAL STOP_CRITICAL
+STOP_MESSAGE STOP_MESSAGE
+
+
+
+
+
+
PHP email creation and transport class
+
+
+
+
+ Â Methods
+
+
Adds a "To" address.
+
AddAddress(string $address, string $name) : boolean
+
+
+
+
Parameters
+
+
$address
+string
+
+
+
$name
+string
+
+
Returns
+
+boolean
true on success, false if address already used
+
+
+
+
Adds an attachment from a path on the filesystem.
+
AddAttachment(string $path, string $name, string $encoding, string $type) : bool
+
+
+
Returns false if the file could not be found
+or accessed.
+
Parameters
+
+
$path
+
string
Path to the attachment.
+
+
$name
+
string
Overrides the attachment name.
+
+
$encoding
+
string
File encoding (see $Encoding).
+
+
+
$type
+
string
File extension (MIME) type.
+
+
Exceptions
+
+
Returns
+
bool
+
+
+
+
Adds a "Bcc" address.
+
AddBCC(string $address, string $name) : boolean
+
+
+
Note: this function works with the SMTP mailer on win32, not with the "mail" mailer.
+
Parameters
+
+
$address
+string
+
+
+
$name
+string
+
+
Returns
+
+boolean
true on success, false if address already used
+
+
+
+
Adds a "Cc" address.
+
AddCC(string $address, string $name) : boolean
+
+
+
Note: this function works with the SMTP mailer on win32, not with the "mail" mailer.
+
Parameters
+
+
$address
+string
+
+
+
$name
+string
+
+
Returns
+
+boolean
true on success, false if address already used
+
+
+
+
+
Adds an embedded attachment.
+
AddEmbeddedImage(string $path, string $cid, string $name, string $encoding, string $type) : bool
+
+
+
This can include images, sounds, and
+just about any other document. Make sure to set the $type to an
+image type. For JPEG images use "image/jpeg" and for GIF images
+use "image/gif".
+
Parameters
+
+
$path
+
string
Path to the attachment.
+
+
$cid
+
string
Content ID of the attachment. Use this to identify the Id for accessing the image in an HTML form.
+
+
$name
+
string
Overrides the attachment name.
+
+
$encoding
+
string
File encoding (see $Encoding).
+
+
+
$type
+
string
File extension (MIME) type.
+
+
Returns
+
bool
+
+
+
+
Adds a "Reply-to" address.
+
AddReplyTo(string $address, string $name) : boolean
+
+
+
+
Parameters
+
+
$address
+string
+
+
+
$name
+string
+
+
Returns
+
boolean
+
+
+
+
Adds a string or binary attachment (non-filesystem) to the list.
+
AddStringAttachment(string $string, string $filename, string $encoding, string $type) : void
+
+
+
This method can be used to attach ascii or binary data,
+such as a BLOB record from a database.
+
Parameters
+
+
$string
+
string
String attachment data.
+
+
$filename
+
string
Name of the attachment.
+
+
$encoding
+
string
File encoding (see $Encoding).
+
+
+
$type
+
string
File extension (MIME) type.
+
+
+
+
+
Adds an embedded stringified attachment.
+
AddStringEmbeddedImage(string $string, string $cid, string $name, string $encoding, string $type) : bool
+
+
+
This can include images, sounds, and
+just about any other document. Make sure to set the $type to an
+image type. For JPEG images use "image/jpeg" and for GIF images
+use "image/gif".
+
Parameters
+
+
$string
+
string
The attachment.
+
+
$cid
+
string
Content ID of the attachment. Use this to identify the Id for accessing the image in an HTML form.
+
+
$name
+
string
Overrides the attachment name.
+
+
$encoding
+
string
File encoding (see $Encoding).
+
+
+
$type
+
string
File extension (MIME) type.
+
+
Returns
+
bool
+
+
+
+
Creates recipient headers.
+
AddrAppend(string $type, array $addr) : string
+
+
+
+
+
Parameters
+
+
$type
+string
+
+
+
$addr
+array
+
+
Returns
+
string
+
+
+
+
+
Does this message have an alternative body set?
+
AlternativeExists()Â :Â bool
+
+
+
+
+
Returns true if an attachment (non-inline) is present.
+
AttachmentExists()Â :Â bool
+
+
+
+
+
Correctly encodes and wraps long multibyte strings for mail headers
+without breaking lines within a character.
+
Base64EncodeWrapMB(string $str, string $lf) : string
+
+
+
Adapted from a function by paravoid at http://uk.php.net/manual/en/function.mb-encode-mimeheader.php
+
+
Parameters
+
+
$str
+
string
multi-byte text to wrap encode
+
+
+
$lf
+
string
string to use as linefeed/end-of-line
+
+
Returns
+
string
+
+
+
+
Clears all recipients assigned in the TO array.
+
ClearAddresses()Â :Â void
+
+
+
+
+
Clears all recipients assigned in the TO, CC and BCC
+array.
+
ClearAllRecipients()Â :Â void
+
+
+
+
+
Clears all previously set filesystem, string, and binary
+attachments.
+
ClearAttachments()Â :Â void
+
+
+
+
+
Clears all recipients assigned in the BCC array.
+
ClearBCCs()Â :Â void
+
+
+
+
+
Clears all recipients assigned in the CC array.
+
ClearCCs()Â :Â void
+
+
+
+
+
+
Clears all recipients assigned in the ReplyTo array.
+
ClearReplyTos()Â :Â void
+
+
+
+
+
Assembles the message body.
+
CreateBody()Â :Â string
+
+
+
Returns an empty string on failure.
+
+
Exceptions
+
+
Returns
+
+string
The assembled message body
+
+
+
+
+
Create the DKIM header, body, as new header
+
DKIM_Add(string $headers_line, string $subject, string $body) : string
+
+
+
+
+
Parameters
+
+
$headers_line
+
string
Header lines
+
+
+
Returns
+
string
+
+
+
+
Generate DKIM Canonicalization Body
+
DKIM_BodyC(string $body) : string
+
+
+
+
+
Parameters
+
+
$body
+
string
Message Body
+
Returns
+
string
+
+
+
+
+
Set the private key file and password to sign the message.
+
DKIM_QP(string $txt) : string
+
+
+
+
+
Parameters
+
+
$txt
+string
+
+
Returns
+
string
+
+
+
+
Generate DKIM signature
+
DKIM_Sign(string $s) : string
+
+
+
+
+
Parameters
+
+
Returns
+
string
+
+
+
+
+
Encode string to q encoding.
+
EncodeQ(string $str, string $position) : string
+
+
+
+
+
Parameters
+
+
$str
+
string
the text to encode
+
+
$position
+
string
Where the text is going to be used, see the RFC for what that means
+
Returns
+
string
+
+
+
+
Encode string to RFC2045 (6.7) quoted-printable format
+Uses a PHP5 stream filter to do the encoding about 64x faster than the old version
+Also results in same content as you started with after decoding
+
EncodeQP(string $string, integer $line_max, boolean $space_conv) : string
+
+
+
+
+
+see
+\global\EncodeQPphp()
+
+
+access
+public
+
+
+author
+Marcus Bointon
+
+
+
Parameters
+
+
$string
+
string
the text to encode
+
+
$line_max
+
integer
Number of chars allowed on a line before wrapping
+
+
$space_conv
+
boolean
Dummy param for compatibility with existing EncodeQP function
+
Returns
+
string
+
+
+
+
Encodes string to requested format.
+
EncodeString(string $str, string $encoding) : string
+
+
+
Returns an empty string on failure.
+
+
Parameters
+
+
$str
+
string
The text to encode
+
+
$encoding
+
string
The encoding to use; one of 'base64', '7bit', '8bit', 'binary', 'quoted-printable'
+
+
Returns
+
string
+
+
+
+
Changes every end of line from CRLF, CR or LF to $this->LE.
+
FixEOL(string $str) : string
+
+
+
+
+
Parameters
+
+
$str
+
string
String to FixEOL
+
Returns
+
string
+
+
+
+
Return the current array of attachments
+
GetAttachments()Â :Â array
+
+
+
+
+
Returns the message MIME.
+
GetMailMIME()Â :Â string
+
+
+
+
+
Returns the MIME message (headers and body).
+
GetSentMIMEMessage()Â :Â string
+
+
+
Only really valid post PreSend().
+
+
Returns
+
string
+
+
+
+
Return the current array of language strings
+
GetTranslations()Â :Â array
+
+
+
+
+
Checks if a string contains multibyte characters.
+
HasMultiBytes(string $str) : bool
+
+
+
+
+
Parameters
+
+
$str
+
string
multi-byte text to wrap encode
+
+
Returns
+
bool
+
+
+
+
+
Returns true if an inline attachment is present.
+
InlineImageExists()Â :Â bool
+
+
+
+
+
Returns true if an error occurred.
+
IsError()Â :Â bool
+
+
+
+
+
Sets message type to HTML.
+
IsHTML(bool $ishtml) : void
+
+
+
+
Parameters
+
+
$ishtml
+bool
+
+
+
+
+
Sets Mailer to send message using PHP mail() function.
+
IsMail()Â :Â void
+
+
+
+
+
Sets Mailer to send message using the qmail MTA.
+
IsQmail()Â :Â void
+
+
+
+
+
Sets Mailer to send message using SMTP.
+
IsSMTP()Â :Â void
+
+
+
+
+
Sets Mailer to send message using the $Sendmail program.
+
IsSendmail()Â :Â void
+
+
+
+
+
Evaluates the message and returns modifications for inline images and backgrounds
+
MsgHTML(string $message, string $basedir) : string
+
+
+
+
+
Parameters
+
+
$message
+
string
Text to be HTML modified
+
+
$basedir
+
string
baseline directory for path
+
Returns
+
+string
$message
+
+
+
+
Actual Email transport function
+Send the email via the selected mechanism
+
PostSend()Â :Â bool
+
+
+
+
Exceptions
+
+
Returns
+
bool
+
+
+
+
Prep mail by constructing all message entities
+
PreSend()Â :Â bool
+
+
+
+
Exceptions
+
+
Returns
+
bool
+
+
+
+
Returns the proper RFC 822 formatted date.
+
RFCDate()Â :Â string
+
+
+
+
+
+access
+public
+
+
+static
+
+
+
+
Returns
+
string
+
+
+
+
+
Creates message and assigns Mailer.
+
Send()Â :Â bool
+
+
+
If the message is
+not sent successfully then it returns false. Use the ErrorInfo
+variable to view description of the error.
+
Exceptions
+
+
Returns
+
bool
+
+
+
+
Set the From and FromName properties
+
SetFrom(string $address, string $name, int $auto) : boolean
+
+
+
+
Parameters
+
+
$address
+string
+
+
+
$name
+string
+
+
+
$auto
+
int
Also set Reply-To and Sender
+
+
Exceptions
+
+
Returns
+
boolean
+
+
+
+
Sets the language for all class error messages.
+
SetLanguage(string $langcode, string $lang_path) : bool
+
+
+
Returns false if it cannot load the language file. The default language is English.
+
+
Parameters
+
+
$langcode
+
string
ISO 639-1 2-character language code (e.g. Portuguese: "br")
+
+
+
$lang_path
+
string
Path to the language file directory
+
Returns
+
bool
+
+
+
+
Set the body wrapping.
+
SetWordWrap()Â :Â void
+
+
+
+
+
Set the private key file and password to sign the message.
+
Sign($cert_filename, string $key_filename, string $key_pass)Â
+
+
+
+
+
Parameters
+
+
$cert_filename
+
+
+
+
$key_filename
+
string
Parameter File Name
+
+
$key_pass
+
string
Password for private key
+
+
+
+
Closes the active SMTP session if one exists.
+
SmtpClose()Â :Â void
+
+
+
+
+
Initiates a connection to an SMTP server.
+
SmtpConnect()Â :Â bool
+
+
+
Returns false if the operation failed.
+
+
+uses
+\global\SMTP
+
+
+access
+public
+
+
+
Exceptions
+
+
Returns
+
bool
+
+
+
+
Returns a formatted mail line.
+
TextLine(string $value) : string
+
+
+
+
+
Parameters
+
+
$value
+string
+
+
Returns
+
string
+
+
+
+
Finds last character boundary prior to maxLength in a utf-8
+quoted (printable) encoded string.
+
UTF8CharBoundary(string $encodedText, int $maxLength) : int
+
+
+
Original written by Colin Brown.
+
+
Parameters
+
+
$encodedText
+
string
utf-8 QP text
+
+
+
$maxLength
+
int
find last character boundary prior to this length
+
Returns
+
int
+
+
+
+
Check that a string looks roughly like an email address should
+Static so it can be used without instantiation, public so people can overload
+Conforms to RFC5322: Uses *correct* regex on which FILTER_VALIDATE_EMAIL is
+based; So why not use FILTER_VALIDATE_EMAIL? Because it was broken to
+not allow a@b type valid addresses :(
+Some Versions of PHP break on the regex though, likely due to PCRE, so use
+the older validation method for those users.
+
ValidateAddress(string $address) : boolean
+
+
+
(http://php.net/manual/en/pcre.installation.php)
+
+
Parameters
+
+
$address
+
string
The email address to check
+
Returns
+
boolean
+
+
+
+
Wraps message for use with mailers that do not
+automatically perform wrapping and for quoted-printable.
+
WrapText(string $message, integer $length, boolean $qp_mode) : string
+
+
+
Original written by philippe.
+
+
Parameters
+
+
$message
+
string
The message to wrap
+
+
$length
+
integer
The line length to wrap to
+
+
$qp_mode
+
boolean
Whether to run in Quoted-Printable mode
+
+
Returns
+
string
+
+
+
+
Constructor
+
__construct(boolean $exceptions)Â
+
+
+
+
Parameters
+
+
$exceptions
+
boolean
Should we throw external exceptions?
+
+
+
+
+
Gets the MIME type of the embedded or inline image
+
_mime_types(string $ext) : string
+
+
+
+
+
+access
+public
+
+
+static
+
+
+
+
Parameters
+
+
$ext
+
string
File extension
+
Returns
+
+string
MIME type of ext
+
+
+
+
Set (or reset) Class Objects (variables)
+
set(string $name, mixed $value) : bool
+
+
+
Usage Example:
+$page->set('X-Priority', '3');
+
+
+access
+public
+
+
+todo
+Should this not be using __set() magic function?
+
+
+
Parameters
+
+
$name
+
string
Parameter Name
+
+
$value
+
mixed
Parameter Value NOTE: will not work with arrays, there are no arrays to set/reset
+
+
Exceptions
+
+
Returns
+
bool
+
+
+
+
Adds an address to one of the recipient arrays
+Addresses that have been added already return false, but do not throw exceptions
+
AddAnAddress(string $kind, string $address, string $name) : boolean
+
+
+
+
+
Parameters
+
+
$kind
+
string
One of 'to', 'cc', 'bcc', 'ReplyTo'
+
+
+
$address
+
string
The email address to send to
+
+
$name
+string
+
+
Exceptions
+
+
Returns
+
+boolean
true on success, false if address already used or invalid in some way
+
+
+
+
Attaches all fs, string, and binary attachments to the message.
+
AttachAll(string $disposition_type, string $boundary) : string
+
+
+
Returns an empty string on failure.
+
+
Parameters
+
+
$disposition_type
+string
+
+
+
$boundary
+string
+
+
Returns
+
string
+
+
+
+
Encodes attachment in requested format.
+
EncodeFile(string $path, string $encoding) : string
+
+
+
Returns an empty string on failure.
+
+
+see
+\global\EncodeFile()
+
+
+access
+protected
+
+
+
Parameters
+
+
$path
+
string
The full path to the file
+
+
$encoding
+
string
The encoding to use; one of 'base64', '7bit', '8bit', 'binary', 'quoted-printable'
+
+
Exceptions
+
+
Returns
+
string
+
+
+
+
Returns the end of a message boundary.
+
EndBoundary(string $boundary) : string
+
+
+
+
+
Parameters
+
+
$boundary
+string
+
+
Returns
+
string
+
+
+
+
Returns the start of a message boundary.
+
GetBoundary(string $boundary, string $charSet, string $contentType, string $encoding) : string
+
+
+
+
+
Parameters
+
+
$boundary
+string
+
+
+
$charSet
+string
+
+
+
$contentType
+string
+
+
+
$encoding
+string
+
+
Returns
+
string
+
+
+
+
Returns a message in the appropriate language.
+
Lang(string $key) : string
+
+
+
+
+
Parameters
+
+
$key
+string
+
+
Returns
+
string
+
+
+
+
Sends mail using the PHP mail() function.
+
MailSend(string $header, string $body) : bool
+
+
+
+
+
Parameters
+
+
$header
+
string
The message headers
+
+
$body
+
string
The message body
+
Exceptions
+
+
Returns
+
bool
+
+
+
+
Sends mail using the $Sendmail program.
+
SendmailSend(string $header, string $body) : bool
+
+
+
+
+
Parameters
+
+
$header
+
string
The message headers
+
+
$body
+
string
The message body
+
Exceptions
+
+
Returns
+
bool
+
+
+
+
Returns the server hostname or 'localhost.localdomain' if unknown.
+
ServerHostname()Â :Â string
+
+
+
+
+
Adds the error message to the error container.
+
SetError(string $msg) : void
+
+
+
+
+
Parameters
+
+
$msg
+string
+
+
+
+
+
Sets the message type.
+
SetMessageType()Â :Â void
+
+
+
+
+
Sends mail via SMTP using PhpSMTP
+Returns false if there is a bad MAIL FROM, RCPT, or DATA input.
+
SmtpSend(string $header, string $body) : bool
+
+
+
+
+
+uses
+\global\SMTP
+
+
+access
+protected
+
+
+
Parameters
+
+
$header
+
string
The message headers
+
+
$body
+
string
The message body
+
Exceptions
+
+
Returns
+
bool
+
+
+
+
Perform callback
+
doCallback(boolean $isSent, string $to, string $cc, string $bcc, string $subject, string $body, string $from)Â
+
+
+
+
Parameters
+
+
$isSent
+boolean
+
+
+
$to
+string
+
+
+
$cc
+string
+
+
+
$bcc
+string
+
+
+
$subject
+string
+
+
+
$body
+string
+
+
+
$from
+string
+
+
+
+
+
Outputs debugging info via user-defined method
+
edebug(string $str)Â
+
+
+
+
Parameters
+
+
$str
+string
+
+
+
+
+
Calls actual mail() function, but in a safe_mode aware fashion
+Also, unless sendmail_path points to sendmail (or something that
+claims to be sendmail), don't pass params (not a perfect fix,
+but it will do)
+
mail_passthru(string $to, string $subject, string $body, string $header, string $params) : bool
+
+
+
+
+
Parameters
+
+
+
+
$body
+
string
Message Body
+
+
$header
+
string
Additional Header(s)
+
+
+
Returns
+
bool
+
+
+
+ Â Properties
+
Â
+
Sets the text-only body of the message.
+
$AltBody : string
+
+
This automatically sets the
+email to multipart/alternative. This body can be read by mail
+clients that do not have HTML email capability such as mutt. Clients
+that can read HTML will view the normal Body.
+
+
Â
+
Sets SMTP auth type.
+
$AuthType : string
+
+
Options are LOGIN | PLAIN | NTLM (default LOGIN)
+
+
Â
+
Sets the Body of the message.
+
$Body : string
+
+
This can be either an HTML or text body.
+If HTML then run IsHTML(true).
+
+
Â
+
Sets the CharSet of the message.
+
$CharSet : string
+
+
+
+
Â
+
Sets the email address that a reading confirmation will be sent.
+
$ConfirmReadingTo : string
+
+
+
+
Â
+
Sets the Content-type of the message.
+
$ContentType : string
+
+
+
+
Â
+
Used with DKIM Singing
+required if DKIM is enabled, in format of email address 'domain.com'
+
$DKIM_domain : string
+
+
+
+
Â
+
Used with DKIM Signing
+required if DKIM is enabled, in format of email address 'you@yourdomain.com' typically used as the source of the email
+
$DKIM_identity : string
+
+
+
+
Â
+
Used with DKIM Signing
+optional parameter if your private key requires a passphras
+
$DKIM_passphrase : string
+
+
+
+
Â
+
Used with DKIM Signing
+required if DKIM is enabled, path to private key file
+
$DKIM_private : string
+
+
+
+
Â
+
Used with DKIM Signing
+required parameter if DKIM is enabled
+
$DKIM_selector : string
+
+
domain selector example domainkey
+
+
Â
+
Sets the function/method to use for debugging output.
+
$Debugoutput : string
+
+
Right now we only honor "echo" or "error_log"
+
+
Â
+
Sets the Encoding of the message.
+
$Encoding : string
+
+
Options for this are
+ "8bit", "7bit", "binary", "base64", and "quoted-printable".
+
+
Â
+
Holds the most recent mailer error message.
+
$ErrorInfo : string
+
+
+
+
Â
+
Sets the From email address for the message.
+
$From : string
+
+
+
+
Â
+
Sets the From name of the message.
+
$FromName : string
+
+
+
+
Â
+
Sets the SMTP HELO of the message (Default is $Hostname).
+
$Helo : string
+
+
+
+
Â
+
Sets the SMTP hosts.
+
$Host : string
+
+
All hosts must be separated by a
+semicolon. You can also specify a different port
+for each host by using this format: [hostname:port]
+(e.g. "smtp1.example.com:25;smtp2.example.com").
+Hosts will be tried in order.
+
+
Â
+
Sets the hostname to use in Message-Id and Received headers
+and as default HELO string.
+
$Hostname : string
+
+
If empty, the value returned
+by SERVER_NAME is used or 'localhost.localdomain'.
+
+
Â
+
Provides the ability to change the generic line ending
+NOTE: The default remains '\n'.
+
$LEÂ :Â string
+
+
We force CRLF where we KNOW
+ it must be used via self::CRLF
+
+
Â
+
Method to send mail: ("mail", "sendmail", or "smtp").
+
$Mailer : string
+
+
+
+
Â
+
Sets the message Date to be used in the Date header.
+
$MessageDate : string
+
+
If empty, the current date will be added.
+
+
Â
+
Sets the message ID to be used in the Message-Id header.
+
$MessageIDÂ :Â string
+
+
If empty, a unique id will be generated.
+
+
Â
+
Sets SMTP password.
+
$Password : string
+
+
+
+
Â
+
Path to PHPMailer plugins.
+
$PluginDir : string
+
+
Useful if the SMTP class
+is in a different directory than the PHP include path.
+
+
Â
+
Sets the default SMTP server port.
+
$Port : int
+
+
+
+
Â
+
Email priority (1 = High, 3 = Normal, 5 = low).
+
$Priority : int
+
+
+
+
Â
+
Sets SMTP realm.
+
$RealmÂ
+
+
+
+
Â
+
Sets the Return-Path of the message.
+
$ReturnPath : string
+
+
If empty, it will
+be set to either From or Sender.
+
+
Â
+
Sets SMTP authentication.
+
$SMTPAuth : bool
+
+
Utilizes the Username and Password variables.
+
+
Â
+
Sets SMTP class debugging on or off.
+
$SMTPDebug : bool
+
+
+
+
Â
+
Prevents the SMTP connection from being closed after each mail
+sending.
+
$SMTPKeepAlive : bool
+
+
If this is set to true then to close the connection
+requires an explicit call to SmtpClose().
+
+
Â
+
Sets connection prefix.
+
$SMTPSecure : string
+
+
Options are "", "ssl" or "tls"
+
+
Â
+
Sets the Sender email (Return-Path) of the message.
+
$Sender : string
+
+
If not empty,
+will be sent via -f to sendmail or as 'MAIL FROM' in smtp mode.
+
+
Â
+
Sets the path of the sendmail program.
+
$Sendmail : string
+
+
+
+
Â
+
Provides the ability to have the TO field process individual
+emails, instead of sending to entire TO addresses
+
$SingleTo : bool
+
+
+
+
Â
+
If SingleTo is true, this provides the array to hold the email addresses
+
$SingleToArray : bool
+
+
+
+
Â
+
Sets the Subject of the message.
+
$Subject : string
+
+
+
+
Â
+
Sets the SMTP server timeout in seconds.
+
$Timeout : int
+
+
This function will not work with the win32 version.
+
+
Â
+
Determine if mail() uses a fully sendmail compatible MTA that
+supports sendmail's "-oi -f" options
+
$UseSendmailOptions : boolean
+
+
+
+
Â
+
Sets SMTP username.
+
$Username : string
+
+
+
+
Â
+
Sets the PHPMailer Version number
+
$Version : string
+
+
+
+
Â
+
Sets word wrapping on the body of the message to a given number of
+characters.
+
$WordWrap : int
+
+
+
+
Â
+
Sets SMTP workstation.
+
$WorkstationÂ
+
+
+
+
Â
+
What to use in the X-Mailer header
+
$XMailer : string
+
+
+
+
Â
+
Callback Action function name.
+
$action_function : string
+
+
The function that handles the result of the send email action.
+It is called out by Send() for each email sent.
+
+
Value can be:
+- 'function_name' for function names
+- 'Class::Method' for static method calls
+- array($object, 'Method') for calling methods on $object
+See http://php.net/is_callable manual page for more details.
+
+
Parameters:
+ bool $result result of the send action
+ string $to email address of the recipient
+ string $cc cc email addresses
+ string $bcc bcc email addresses
+ string $subject the subject
+ string $body the email body
+ string $from email address of sender
+
+
+
Â
+
Stores the complete compiled MIME message body.
+
$MIMEBody : string
+
+
+
+
+
Â
+
<p>An array of reply-to name and address</p>
+
+
$ReplyTo : array
+
+
+
+
Â
+
<p>An array of all kinds of addresses: to, cc, bcc, replyto</p>
+
$all_recipients : array
+
+
+
+
Â
+
<p>An array of attachments</p>
+
$attachment : array
+
+
+
+
Â
+
<p>An array of 'bcc' addresses</p>
+
+
$bcc : array
+
+
+
+
Â
+
<p>An array of MIME boundary strings</p>
+
$boundary : array
+
+
+
+
Â
+
<p>An array of 'cc' addresses</p>
+
+
$cc : array
+
+
+
+
Â
+
<p>The number of errors encountered</p>
+
$error_count : integer
+
+
+
+
Â
+
<p>Whether to throw exceptions for errors</p>
+
$exceptions : boolean
+
+
+
+
Â
+
<p>An array of available languages</p>
+
$language : array
+
+
+
+
+
Â
+
<p>The message's MIME type</p>
+
+
$message_type : string
+
+
+
+
Â
+
<p>The filename of a DKIM certificate file</p>
+
$sign_cert_file : string
+
+
+
+
Â
+
<p>The filename of a DKIM key file</p>
+
$sign_key_file : string
+
+
+
+
Â
+
<p>The password of a DKIM key</p>
+
$sign_key_pass : string
+
+
+
+
Â
+
<p>An instance of the SMTP sender class</p>
+
$smtp : \SMTP
+
+
+
+
Â
+
<p>An array of 'to' addresses</p>
+
+
$to : array
+
+
+
+
+ Â Constants
+
Â
+
Â
+
STOP_CONTINUE
+
STOP_CONTINUEÂ
+
+
+
+
Â
+
STOP_CRITICAL
+
STOP_CRITICALÂ
+
+
+
+
Â
+
STOP_MESSAGE
+
STOP_MESSAGEÂ
+
+
+
+
+
+
+
+
+
+
+
diff --git a/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/classes/POP3.html b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/classes/POP3.html
new file mode 100644
index 0000000..5fb1a1b
--- /dev/null
+++ b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/classes/POP3.html
@@ -0,0 +1,435 @@
+
+
+
+
+
+PHPMailer version 5.2.4 » \POP3
+
+
+
+
+
+
+
+
+
+
+
+
+ Javascript is disabled; several features are only available
+ if Javascript is enabled.
+
+
+
+
Public Protected Private Inherited
+
+
+
+
+
+
+
+
PHP POP-Before-SMTP Authentication Class
+
+
Version 5.2.4
+
+
+ Â Methods
+
+
Combination of public events - connect, login, disconnect
+
Authorise(string $host, bool | int $port, bool | int $tval, string $username, string $password, int $debug_level) : bool
+
+
+
+
+
Parameters
+
+
$host
+string
+
+
+
$port
+boolint
+
+
+
$tval
+boolint
+
+
+
$username
+string
+
+
+
$password
+string
+
+
+
$debug_level
+int
+
+
Returns
+
bool
+
+
+
+
Connect to the POP3 server
+
Connect(string $host, bool | int $port, integer $tval) : boolean
+
+
+
+
+
Parameters
+
+
$host
+string
+
+
+
$port
+boolint
+
+
+
$tval
+integer
+
+
Returns
+
boolean
+
+
+
+
Disconnect from the POP3 server
+
Disconnect()Â
+
+
+
+
+
Login to the POP3 server (does not support APOP yet)
+
Login(string $username, string $password) : boolean
+
+
+
+
+
Parameters
+
+
$username
+string
+
+
+
$password
+string
+
+
Returns
+
boolean
+
+
+
+
Constructor, sets the initial values
+
__construct()Â :Â \POP3
+
+
+
+
+
Takes over from PHP for the socket warning handler
+
catchWarning(integer $errno, string $errstr, string $errfile, integer $errline)Â
+
+
+
+
+
Parameters
+
+
$errno
+integer
+
+
+
$errstr
+string
+
+
+
$errfile
+string
+
+
+
$errline
+integer
+
+
+
+
+
Checks the POP3 server response for +OK or -ERR
+
checkResponse(string $string) : boolean
+
+
+
+
+
Parameters
+
+
$string
+string
+
+
Returns
+
boolean
+
+
+
+
If debug is enabled, display the error message array
+
displayErrors()Â
+
+
+
+
+
Get the socket response back.
+
getResponse(integer $size) : string
+
+
+
$size is the maximum number of bytes to retrieve
+
+
Parameters
+
+
$size
+integer
+
+
Returns
+
string
+
+
+
+
Send a string down the open socket connection to the POP3 server
+
sendString(string $string) : integer
+
+
+
+
+
Parameters
+
+
$string
+string
+
+
Returns
+
integer
+
+
+
+ Â Properties
+
Â
+
POP3 Carriage Return + Line Feed
+
$CRLFÂ :Â string
+
+
+
+
Â
+
Default POP3 port
+
$POP3_PORTÂ :Â int
+
+
+
+
Â
+
Default Timeout
+
$POP3_TIMEOUTÂ :Â int
+
+
+
+
Â
+
Sets the POP3 PHPMailer Version number
+
$Version : string
+
+
+
+
Â
+
Displaying Debug warnings? (0 = now, 1+ = yes)
+
$do_debug : int
+
+
+
+
Â
+
POP3 Mail Server
+
$host : string
+
+
+
+
Â
+
POP3 Password
+
$password : string
+
+
+
+
Â
+
POP3 Port
+
$port : int
+
+
+
+
Â
+
POP3 Timeout Value
+
$tval : int
+
+
+
+
Â
+
POP3 Username
+
$username : string
+
+
+
+
Â
+
<p>Are we connected?</p>
+
+
$connected : boolean
+
+
+
+
Â
+
<p>Error container</p>
+
$error : array
+
+
+
+
Â
+
<p>Resource handle for the POP connection socket</p>
+
$pop_conn : resource
+
+
+
+
+
+
+
+
+
+
+
diff --git a/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/classes/SMTP.html b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/classes/SMTP.html
new file mode 100644
index 0000000..99b588b
--- /dev/null
+++ b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/classes/SMTP.html
@@ -0,0 +1,613 @@
+
+
+
+
+
+PHPMailer version 5.2.4 » \SMTP
+
+
+
+
+
+
+
+
+
+
+
+
+ Javascript is disabled; several features are only available
+ if Javascript is enabled.
+
+
+
+
Public Protected Private Inherited
+
+
+
+
+
+
+
+
PHP RFC821 SMTP client
+
+
Implements all the RFC 821 SMTP commands except TURN which will always return a not implemented error.
+SMTP also provides some utility methods for sending mail to an SMTP server.
+
+
+ Â Methods
+
+
Performs SMTP authentication.
+
Authenticate(string $username, string $password, string $authtype, string $realm, string $workstation) : bool
+
+
+
Must be run after running the
+Hello() method. Returns true if successfully authenticated.
+
+
Parameters
+
+
$username
+string
+
+
+
$password
+string
+
+
+
$authtype
+string
+
+
+
$realm
+string
+
+
+
$workstation
+string
+
+
Returns
+
bool
+
+
+
+
Closes the socket and cleans up the state of the class.
+
Close()Â :Â void
+
+
+
It is not considered good to use this function without
+first trying to use QUIT.
+
+
+
+
+
Connect to the server specified on the port specified.
+
Connect(string $host, int $port, int $tval) : bool
+
+
+
If the port is not specified use the default SMTP_PORT.
+If tval is specified then a connection will try and be
+established with the server for that number of seconds.
+If tval is not specified the default is 30 seconds to
+try on the connection.
+
+
SMTP CODE SUCCESS: 220
+SMTP CODE FAILURE: 421
+
+
Parameters
+
+
$host
+string
+
+
+
$port
+int
+
+
+
$tval
+int
+
+
Returns
+
bool
+
+
+
+
Returns true if connected to a server otherwise false
+
Connected()Â :Â bool
+
+
+
+
+
Issues a data command and sends the msg_data to the server
+finializing the mail transaction.
+
Data(string $msg_data) : bool
+
+
+
$msg_data is the message
+that is to be send with the headers. Each header needs to be
+on a single line followed by a with the message headers
+and the message body being seperated by and additional .
+
+
Implements rfc 821: DATA
+
+
SMTP CODE INTERMEDIATE: 354
+ [data]
+ .
+ SMTP CODE SUCCESS: 250
+ SMTP CODE FAILURE: 552,554,451,452
+SMTP CODE FAILURE: 451,554
+SMTP CODE ERROR : 500,501,503,421
+
+
Parameters
+
+
$msg_data
+string
+
+
Returns
+
bool
+
+
+
+
Sends the HELO command to the smtp server.
+
Hello(string $host) : bool
+
+
+
This makes sure that we and the server are in
+the same known state.
+
+
Implements from rfc 821: HELO
+
+
SMTP CODE SUCCESS: 250
+SMTP CODE ERROR : 500, 501, 504, 421
+
+
Parameters
+
+
$host
+string
+
+
Returns
+
bool
+
+
+
+
Starts a mail transaction from the email address specified in
+$from.
+
Mail(string $from) : bool
+
+
+
Returns true if successful or false otherwise. If True
+the mail transaction is started and then one or more Recipient
+commands may be called followed by a Data command.
+
+
Implements rfc 821: MAIL FROM:
+
+
SMTP CODE SUCCESS: 250
+SMTP CODE SUCCESS: 552,451,452
+SMTP CODE SUCCESS: 500,501,421
+
+
Parameters
+
+
$from
+string
+
+
Returns
+
bool
+
+
+
+
Sends the quit command to the server and then closes the socket
+if there is no error or the $close_on_error argument is true.
+
Quit(bool $close_on_error) : bool
+
+
+
Implements from rfc 821: QUIT
+
+
SMTP CODE SUCCESS: 221
+SMTP CODE ERROR : 500
+
+
Parameters
+
+
$close_on_error
+bool
+
+
Returns
+
bool
+
+
+
+
Sends the command RCPT to the SMTP server with the TO: argument of $to.
+
Recipient(string $to) : bool
+
+
+
Returns true if the recipient was accepted false if it was rejected.
+
+
Implements from rfc 821: RCPT TO:
+
+
SMTP CODE SUCCESS: 250,251
+SMTP CODE FAILURE: 550,551,552,553,450,451,452
+SMTP CODE ERROR : 500,501,503,421
+
+
Parameters
+
+
$to
+string
+
+
Returns
+
bool
+
+
+
+
Sends the RSET command to abort and transaction that is
+currently in progress.
+
Reset()Â :Â bool
+
+
+
Returns true if successful false
+otherwise.
+
+
Implements rfc 821: RSET
+
+
SMTP CODE SUCCESS: 250
+SMTP CODE ERROR : 500,501,504,421
+
+
Returns
+
bool
+
+
+
+
Starts a mail transaction from the email address specified in
+$from.
+
SendAndMail(string $from) : bool
+
+
+
Returns true if successful or false otherwise. If True
+the mail transaction is started and then one or more Recipient
+commands may be called followed by a Data command. This command
+will send the message to the users terminal if they are logged
+in and send them an email.
+
+
Implements rfc 821: SAML FROM:
+
+
SMTP CODE SUCCESS: 250
+SMTP CODE SUCCESS: 552,451,452
+SMTP CODE SUCCESS: 500,501,502,421
+
+
Parameters
+
+
$from
+string
+
+
Returns
+
bool
+
+
+
+
Initiate a TLS communication with the server.
+
StartTLS()Â :Â bool
+
+
+
SMTP CODE 220 Ready to start TLS
+SMTP CODE 501 Syntax error (no parameters allowed)
+SMTP CODE 454 TLS not available due to temporary reason
+
+
Returns
+
+bool
success
+
+
+
+
This is an optional command for SMTP that this class does not
+support.
+
Turn()Â :Â bool
+
+
+
This method is here to make the RFC821 Definition
+complete for this class and may be implimented in the future
+
+
Implements from rfc 821: TURN
+
+
SMTP CODE SUCCESS: 250
+SMTP CODE FAILURE: 502
+SMTP CODE ERROR : 500, 503
+
+
Returns
+
bool
+
+
+
+
Initialize the class so that the data is in a known state.
+
__construct()Â :Â \SMTP
+
+
+
+
+
Get the current error
+
getError()Â :Â array
+
+
+
+
+
Sends a HELO/EHLO command.
+
SendHello(string $hello, string $host) : bool
+
+
+
+
+
Parameters
+
+
$hello
+string
+
+
+
$host
+string
+
+
Returns
+
bool
+
+
+
+
Outputs debugging info via user-defined method
+
edebug(string $str)Â
+
+
+
+
Parameters
+
+
$str
+string
+
+
+
+
+
Read in as many lines as possible
+either before eof or socket timeout occurs on the operation.
+
get_lines()Â :Â string
+
+
+
With SMTP we can tell if we have more lines to read if the
+4th character is '-' symbol. If it is a space then we don't
+need to read anything else.
+
+
Returns
+
string
+
+
+
+ Â Properties
+
Â
+
SMTP reply line ending (don't change)
+
$CRLFÂ
+
+
+
+
Â
+
Sets the function/method to use for debugging output.
+
$Debugoutput : string
+
+
Right now we only honor "echo" or "error_log"
+
+
Â
+
SMTP server port
+
$SMTP_PORTÂ
+
+
+
+
Â
+
Sets the SMTP timelimit value for reads, in seconds
+
$Timelimit : int
+
+
+
+
Â
+
Sets the SMTP timeout value for reads, in seconds
+
$Timeout : int
+
+
+
+
Â
+
Sets the SMTP PHPMailer Version number
+
$Version : string
+
+
+
+
Â
+
Sets whether debugging is turned on
+
$do_debugÂ
+
+
+
+
Â
+
Sets VERP use on/off (default is off)
+
$do_verpÂ
+
+
+
+
Â
+
<p>Error message, if any, for the last call</p>
+
$error : string
+
+
+
+
Â
+
<p>The reply the server sent to us for HELO</p>
+
$helo_rply : string
+
+
+
+
Â
+
<p>The socket to the server</p>
+
$smtp_conn : resource
+
+
+
+
+
+
+
+
+
+
+
diff --git a/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/classes/phpmailerException.html b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/classes/phpmailerException.html
new file mode 100644
index 0000000..424c0e8
--- /dev/null
+++ b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/classes/phpmailerException.html
@@ -0,0 +1,235 @@
+
+
+
+
+
+PHPMailer version 5.2.4 » \phpmailerException
+
+
+
+
+
+
+
+
+
+
+
+
+ Javascript is disabled; several features are only available
+ if Javascript is enabled.
+
+
+
+
Public Protected Private Inherited
+
+
+
+
+
+
+
+
Exception handler for PHPMailer
+
+
+
+
+ Â Methods
+
+
__construct()
+
+
__construct()Â
+
+
+
+
+inherited_from
+Exception::__construct()
+
+
+
+
+
__toString()
+
+
__toString()Â
+
+
+
+
+inherited_from
+Exception::__toString()
+
+
+
+
+
Prettify error message output
+
errorMessage()Â :Â string
+
+
+
+
+
getCode()
+
+
getCode()Â
+
+
+
+
+inherited_from
+Exception::getCode()
+
+
+
+
+
getFile()
+
+
getFile()Â
+
+
+
+
+inherited_from
+Exception::getFile()
+
+
+
+
+
getLine()
+
+
getLine()Â
+
+
+
+
+inherited_from
+Exception::getLine()
+
+
+
+
+
getMessage()
+
+
getMessage()Â
+
+
+
+
+inherited_from
+Exception::getMessage()
+
+
+
+
+
getPrevious()
+
+
getPrevious()Â
+
+
+
+
+inherited_from
+Exception::getPrevious()
+
+
+
+
+
getTrace()
+
+
getTrace()Â
+
+
+
+
+inherited_from
+Exception::getTrace()
+
+
+
+
+
getTraceAsString()
+
+
getTraceAsString()Â
+
+
+
+
+inherited_from
+Exception::getTraceAsString()
+
+
+
+
+
+
+
+
+
+
+
diff --git a/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/css/bootstrap-responsive.css b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/css/bootstrap-responsive.css
new file mode 100644
index 0000000..4b032cd
--- /dev/null
+++ b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/css/bootstrap-responsive.css
@@ -0,0 +1,567 @@
+/*!
+ * Bootstrap Responsive v2.0.0
+ *
+ * Copyright 2012 Twitter, Inc
+ * Licensed under the Apache License v2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Designed and built with all the love in the world @twitter by @mdo and @fat.
+ */
+.hidden {
+ display: none;
+ visibility: hidden;
+}
+@media (max-width: 480px) {
+ .nav-collapse {
+ -webkit-transform: translate3d(0, 0, 0);
+ }
+ .page-header h1 small {
+ display: block;
+ line-height: 18px;
+ }
+ input[class*="span"],
+ select[class*="span"],
+ textarea[class*="span"],
+ .uneditable-input {
+ display: block;
+ width: 100%;
+ height: 28px;
+ /* Make inputs at least the height of their button counterpart */
+
+ /* Makes inputs behave like true block-level elements */
+
+ -webkit-box-sizing: border-box;
+ /* Older Webkit */
+
+ -moz-box-sizing: border-box;
+ /* Older FF */
+
+ -ms-box-sizing: border-box;
+ /* IE8 */
+
+ box-sizing: border-box;
+ /* CSS3 spec*/
+
+ }
+ .input-prepend input[class*="span"], .input-append input[class*="span"] {
+ width: auto;
+ }
+ input[type="checkbox"], input[type="radio"] {
+ border: 1px solid #ccc;
+ }
+ .form-horizontal .control-group > label {
+ float: none;
+ width: auto;
+ padding-top: 0;
+ text-align: left;
+ }
+ .form-horizontal .controls {
+ margin-left: 0;
+ }
+ .form-horizontal .control-list {
+ padding-top: 0;
+ }
+ .form-horizontal .form-actions {
+ padding-left: 10px;
+ padding-right: 10px;
+ }
+ .modal {
+ position: absolute;
+ top: 10px;
+ left: 10px;
+ right: 10px;
+ width: auto;
+ margin: 0;
+ }
+ .modal.fade.in {
+ top: auto;
+ }
+ .modal-header .close {
+ padding: 10px;
+ margin: -10px;
+ }
+ .carousel-caption {
+ position: static;
+ }
+}
+@media (max-width: 768px) {
+ .container {
+ width: auto;
+ padding: 0 20px;
+ }
+ .row-fluid {
+ width: 100%;
+ }
+ .row {
+ margin-left: 0;
+ }
+ .row > [class*="span"], .row-fluid > [class*="span"] {
+ float: none;
+ display: block;
+ width: auto;
+ margin: 0;
+ }
+}
+@media (min-width: 768px) and (max-width: 980px) {
+ .row {
+ margin-left: -20px;
+ *zoom: 1;
+ }
+ .row:before, .row:after {
+ display: table;
+ content: "";
+ }
+ .row:after {
+ clear: both;
+ }
+ [class*="span"] {
+ float: left;
+ margin-left: 20px;
+ }
+ .span1 {
+ width: 42px;
+ }
+ .span2 {
+ width: 104px;
+ }
+ .span3 {
+ width: 166px;
+ }
+ .span4 {
+ width: 228px;
+ }
+ .span5 {
+ width: 290px;
+ }
+ .span6 {
+ width: 352px;
+ }
+ .span7 {
+ width: 414px;
+ }
+ .span8 {
+ width: 476px;
+ }
+ .span9 {
+ width: 538px;
+ }
+ .span10 {
+ width: 600px;
+ }
+ .span11 {
+ width: 662px;
+ }
+ .span12, .container {
+ width: 724px;
+ }
+ .offset1 {
+ margin-left: 82px;
+ }
+ .offset2 {
+ margin-left: 144px;
+ }
+ .offset3 {
+ margin-left: 206px;
+ }
+ .offset4 {
+ margin-left: 268px;
+ }
+ .offset5 {
+ margin-left: 330px;
+ }
+ .offset6 {
+ margin-left: 392px;
+ }
+ .offset7 {
+ margin-left: 454px;
+ }
+ .offset8 {
+ margin-left: 516px;
+ }
+ .offset9 {
+ margin-left: 578px;
+ }
+ .offset10 {
+ margin-left: 640px;
+ }
+ .offset11 {
+ margin-left: 702px;
+ }
+ .row-fluid {
+ width: 100%;
+ *zoom: 1;
+ }
+ .row-fluid:before, .row-fluid:after {
+ display: table;
+ content: "";
+ }
+ .row-fluid:after {
+ clear: both;
+ }
+ .row-fluid > [class*="span"] {
+ float: left;
+ margin-left: 2.762430939%;
+ }
+ .row-fluid > [class*="span"]:first-child {
+ margin-left: 0;
+ }
+ .row-fluid .span1 {
+ width: 5.801104972%;
+ }
+ .row-fluid .span2 {
+ width: 14.364640883%;
+ }
+ .row-fluid .span3 {
+ width: 22.928176794%;
+ }
+ .row-fluid .span4 {
+ width: 31.491712705%;
+ }
+ .row-fluid .span5 {
+ width: 40.055248616%;
+ }
+ .row-fluid .span6 {
+ width: 48.618784527%;
+ }
+ .row-fluid .span7 {
+ width: 57.182320438000005%;
+ }
+ .row-fluid .span8 {
+ width: 65.74585634900001%;
+ }
+ .row-fluid .span9 {
+ width: 74.30939226%;
+ }
+ .row-fluid .span10 {
+ width: 82.87292817100001%;
+ }
+ .row-fluid .span11 {
+ width: 91.436464082%;
+ }
+ .row-fluid .span12 {
+ width: 99.999999993%;
+ }
+ input.span1, textarea.span1, .uneditable-input.span1 {
+ width: 32px;
+ }
+ input.span2, textarea.span2, .uneditable-input.span2 {
+ width: 94px;
+ }
+ input.span3, textarea.span3, .uneditable-input.span3 {
+ width: 156px;
+ }
+ input.span4, textarea.span4, .uneditable-input.span4 {
+ width: 218px;
+ }
+ input.span5, textarea.span5, .uneditable-input.span5 {
+ width: 280px;
+ }
+ input.span6, textarea.span6, .uneditable-input.span6 {
+ width: 342px;
+ }
+ input.span7, textarea.span7, .uneditable-input.span7 {
+ width: 404px;
+ }
+ input.span8, textarea.span8, .uneditable-input.span8 {
+ width: 466px;
+ }
+ input.span9, textarea.span9, .uneditable-input.span9 {
+ width: 528px;
+ }
+ input.span10, textarea.span10, .uneditable-input.span10 {
+ width: 590px;
+ }
+ input.span11, textarea.span11, .uneditable-input.span11 {
+ width: 652px;
+ }
+ input.span12, textarea.span12, .uneditable-input.span12 {
+ width: 714px;
+ }
+}
+@media (max-width: 980px) {
+ body {
+ padding-top: 0;
+ }
+ .navbar-fixed-top {
+ position: static;
+ margin-bottom: 18px;
+ }
+ .navbar-fixed-top .navbar-inner {
+ padding: 5px;
+ }
+ .navbar .container {
+ width: auto;
+ padding: 0;
+ }
+ .navbar .brand {
+ padding-left: 10px;
+ padding-right: 10px;
+ margin: 0 0 0 -5px;
+ }
+ .navbar .nav-collapse {
+ clear: left;
+ }
+ .navbar .nav {
+ float: none;
+ margin: 0 0 9px;
+ }
+ .navbar .nav > li {
+ float: none;
+ }
+ .navbar .nav > li > a {
+ margin-bottom: 2px;
+ }
+ .navbar .nav > .divider-vertical {
+ display: none;
+ }
+ .navbar .nav > li > a, .navbar .dropdown-menu a {
+ padding: 6px 15px;
+ font-weight: bold;
+ color: #999999;
+ -webkit-border-radius: 3px;
+ -moz-border-radius: 3px;
+ border-radius: 3px;
+ }
+ .navbar .dropdown-menu li + li a {
+ margin-bottom: 2px;
+ }
+ .navbar .nav > li > a:hover, .navbar .dropdown-menu a:hover {
+ background-color: #222222;
+ }
+ .navbar .dropdown-menu {
+ position: static;
+ top: auto;
+ left: auto;
+ float: none;
+ display: block;
+ max-width: none;
+ margin: 0 15px;
+ padding: 0;
+ background-color: transparent;
+ border: none;
+ -webkit-border-radius: 0;
+ -moz-border-radius: 0;
+ border-radius: 0;
+ -webkit-box-shadow: none;
+ -moz-box-shadow: none;
+ box-shadow: none;
+ }
+ .navbar .dropdown-menu:before, .navbar .dropdown-menu:after {
+ display: none;
+ }
+ .navbar .dropdown-menu .divider {
+ display: none;
+ }
+ .navbar-form, .navbar-search {
+ float: none;
+ padding: 9px 15px;
+ margin: 9px 0;
+ border-top: 1px solid #222222;
+ border-bottom: 1px solid #222222;
+ -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
+ -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
+ box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
+ }
+ .navbar .nav.pull-right {
+ float: none;
+ margin-left: 0;
+ }
+ .navbar-static .navbar-inner {
+ padding-left: 10px;
+ padding-right: 10px;
+ }
+ .btn-navbar {
+ display: block;
+ }
+ .nav-collapse {
+ overflow: hidden;
+ height: 0;
+ }
+}
+@media (min-width: 980px) {
+ .nav-collapse.collapse {
+ height: auto !important;
+ }
+}
+@media (min-width: 1200px) {
+ .row {
+ margin-left: -30px;
+ *zoom: 1;
+ }
+ .row:before, .row:after {
+ display: table;
+ content: "";
+ }
+ .row:after {
+ clear: both;
+ }
+ [class*="span"] {
+ float: left;
+ margin-left: 30px;
+ }
+ .span1 {
+ width: 70px;
+ }
+ .span2 {
+ width: 170px;
+ }
+ .span3 {
+ width: 270px;
+ }
+ .span4 {
+ width: 370px;
+ }
+ .span5 {
+ width: 470px;
+ }
+ .span6 {
+ width: 570px;
+ }
+ .span7 {
+ width: 670px;
+ }
+ .span8 {
+ width: 770px;
+ }
+ .span9 {
+ width: 870px;
+ }
+ .span10 {
+ width: 970px;
+ }
+ .span11 {
+ width: 1070px;
+ }
+ .span12, .container {
+ width: 1170px;
+ }
+ .offset1 {
+ margin-left: 130px;
+ }
+ .offset2 {
+ margin-left: 230px;
+ }
+ .offset3 {
+ margin-left: 330px;
+ }
+ .offset4 {
+ margin-left: 430px;
+ }
+ .offset5 {
+ margin-left: 530px;
+ }
+ .offset6 {
+ margin-left: 630px;
+ }
+ .offset7 {
+ margin-left: 730px;
+ }
+ .offset8 {
+ margin-left: 830px;
+ }
+ .offset9 {
+ margin-left: 930px;
+ }
+ .offset10 {
+ margin-left: 1030px;
+ }
+ .offset11 {
+ margin-left: 1130px;
+ }
+ .row-fluid {
+ width: 100%;
+ *zoom: 1;
+ }
+ .row-fluid:before, .row-fluid:after {
+ display: table;
+ content: "";
+ }
+ .row-fluid:after {
+ clear: both;
+ }
+ .row-fluid > [class*="span"] {
+ float: left;
+ margin-left: 2.564102564%;
+ }
+ .row-fluid > [class*="span"]:first-child {
+ margin-left: 0;
+ }
+ .row-fluid .span1 {
+ width: 5.982905983%;
+ }
+ .row-fluid .span2 {
+ width: 14.529914530000001%;
+ }
+ .row-fluid .span3 {
+ width: 23.076923077%;
+ }
+ .row-fluid .span4 {
+ width: 31.623931624%;
+ }
+ .row-fluid .span5 {
+ width: 40.170940171000005%;
+ }
+ .row-fluid .span6 {
+ width: 48.717948718%;
+ }
+ .row-fluid .span7 {
+ width: 57.264957265%;
+ }
+ .row-fluid .span8 {
+ width: 65.81196581200001%;
+ }
+ .row-fluid .span9 {
+ width: 74.358974359%;
+ }
+ .row-fluid .span10 {
+ width: 82.905982906%;
+ }
+ .row-fluid .span11 {
+ width: 91.45299145300001%;
+ }
+ .row-fluid .span12 {
+ width: 100%;
+ }
+ input.span1, textarea.span1, .uneditable-input.span1 {
+ width: 60px;
+ }
+ input.span2, textarea.span2, .uneditable-input.span2 {
+ width: 160px;
+ }
+ input.span3, textarea.span3, .uneditable-input.span3 {
+ width: 260px;
+ }
+ input.span4, textarea.span4, .uneditable-input.span4 {
+ width: 360px;
+ }
+ input.span5, textarea.span5, .uneditable-input.span5 {
+ width: 460px;
+ }
+ input.span6, textarea.span6, .uneditable-input.span6 {
+ width: 560px;
+ }
+ input.span7, textarea.span7, .uneditable-input.span7 {
+ width: 660px;
+ }
+ input.span8, textarea.span8, .uneditable-input.span8 {
+ width: 760px;
+ }
+ input.span9, textarea.span9, .uneditable-input.span9 {
+ width: 860px;
+ }
+ input.span10, textarea.span10, .uneditable-input.span10 {
+ width: 960px;
+ }
+ input.span11, textarea.span11, .uneditable-input.span11 {
+ width: 1060px;
+ }
+ input.span12, textarea.span12, .uneditable-input.span12 {
+ width: 1160px;
+ }
+ .thumbnails {
+ margin-left: -30px;
+ }
+ .thumbnails > li {
+ margin-left: 30px;
+ }
+}
diff --git a/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/css/bootstrap-responsive.min.css b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/css/bootstrap-responsive.min.css
new file mode 100644
index 0000000..bc3f2ab
--- /dev/null
+++ b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/css/bootstrap-responsive.min.css
@@ -0,0 +1,3 @@
+
+.hidden{display:none;visibility:hidden;}
+@media (max-width:480px){.nav-collapse{-webkit-transform:translate3d(0, 0, 0);} .page-header h1 small{display:block;line-height:18px;} input[class*="span"],select[class*="span"],textarea[class*="span"],.uneditable-input{display:block;width:100%;height:28px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;} .input-prepend input[class*="span"],.input-append input[class*="span"]{width:auto;} input[type="checkbox"],input[type="radio"]{border:1px solid #ccc;} .form-horizontal .control-group>label{float:none;width:auto;padding-top:0;text-align:left;} .form-horizontal .controls{margin-left:0;} .form-horizontal .control-list{padding-top:0;} .form-horizontal .form-actions{padding-left:10px;padding-right:10px;} .modal{position:absolute;top:10px;left:10px;right:10px;width:auto;margin:0;}.modal.fade.in{top:auto;} .modal-header .close{padding:10px;margin:-10px;} .carousel-caption{position:static;}}@media (max-width:768px){.container{width:auto;padding:0 20px;} .row-fluid{width:100%;} .row{margin-left:0;} .row>[class*="span"],.row-fluid>[class*="span"]{float:none;display:block;width:auto;margin:0;}}@media (min-width:768px) and (max-width:980px){.row{margin-left:-20px;*zoom:1;}.row:before,.row:after{display:table;content:"";} .row:after{clear:both;} [class*="span"]{float:left;margin-left:20px;} .span1{width:42px;} .span2{width:104px;} .span3{width:166px;} .span4{width:228px;} .span5{width:290px;} .span6{width:352px;} .span7{width:414px;} .span8{width:476px;} .span9{width:538px;} .span10{width:600px;} .span11{width:662px;} .span12,.container{width:724px;} .offset1{margin-left:82px;} .offset2{margin-left:144px;} .offset3{margin-left:206px;} .offset4{margin-left:268px;} .offset5{margin-left:330px;} .offset6{margin-left:392px;} .offset7{margin-left:454px;} .offset8{margin-left:516px;} .offset9{margin-left:578px;} .offset10{margin-left:640px;} .offset11{margin-left:702px;} .row-fluid{width:100%;*zoom:1;}.row-fluid:before,.row-fluid:after{display:table;content:"";} .row-fluid:after{clear:both;} .row-fluid>[class*="span"]{float:left;margin-left:2.762430939%;} .row-fluid>[class*="span"]:first-child{margin-left:0;} .row-fluid .span1{width:5.801104972%;} .row-fluid .span2{width:14.364640883%;} .row-fluid .span3{width:22.928176794%;} .row-fluid .span4{width:31.491712705%;} .row-fluid .span5{width:40.055248616%;} .row-fluid .span6{width:48.618784527%;} .row-fluid .span7{width:57.182320438000005%;} .row-fluid .span8{width:65.74585634900001%;} .row-fluid .span9{width:74.30939226%;} .row-fluid .span10{width:82.87292817100001%;} .row-fluid .span11{width:91.436464082%;} .row-fluid .span12{width:99.999999993%;} input.span1,textarea.span1,.uneditable-input.span1{width:32px;} input.span2,textarea.span2,.uneditable-input.span2{width:94px;} input.span3,textarea.span3,.uneditable-input.span3{width:156px;} input.span4,textarea.span4,.uneditable-input.span4{width:218px;} input.span5,textarea.span5,.uneditable-input.span5{width:280px;} input.span6,textarea.span6,.uneditable-input.span6{width:342px;} input.span7,textarea.span7,.uneditable-input.span7{width:404px;} input.span8,textarea.span8,.uneditable-input.span8{width:466px;} input.span9,textarea.span9,.uneditable-input.span9{width:528px;} input.span10,textarea.span10,.uneditable-input.span10{width:590px;} input.span11,textarea.span11,.uneditable-input.span11{width:652px;} input.span12,textarea.span12,.uneditable-input.span12{width:714px;}}@media (max-width:980px){body{padding-top:0;} .navbar-fixed-top{position:static;margin-bottom:18px;} .navbar-fixed-top .navbar-inner{padding:5px;} .navbar .container{width:auto;padding:0;} .navbar .brand{padding-left:10px;padding-right:10px;margin:0 0 0 -5px;} .navbar .nav-collapse{clear:left;} .navbar .nav{float:none;margin:0 0 9px;} .navbar .nav>li{float:none;} .navbar .nav>li>a{margin-bottom:2px;} .navbar .nav>.divider-vertical{display:none;} .navbar .nav>li>a,.navbar .dropdown-menu a{padding:6px 15px;font-weight:bold;color:#999999;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;} .navbar .dropdown-menu li+li a{margin-bottom:2px;} .navbar .nav>li>a:hover,.navbar .dropdown-menu a:hover{background-color:#222222;} .navbar .dropdown-menu{position:static;top:auto;left:auto;float:none;display:block;max-width:none;margin:0 15px;padding:0;background-color:transparent;border:none;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;} .navbar .dropdown-menu:before,.navbar .dropdown-menu:after{display:none;} .navbar .dropdown-menu .divider{display:none;} .navbar-form,.navbar-search{float:none;padding:9px 15px;margin:9px 0;border-top:1px solid #222222;border-bottom:1px solid #222222;-webkit-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.1),0 1px 0 rgba(255, 255, 255, 0.1);-moz-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.1),0 1px 0 rgba(255, 255, 255, 0.1);box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.1),0 1px 0 rgba(255, 255, 255, 0.1);} .navbar .nav.pull-right{float:none;margin-left:0;} .navbar-static .navbar-inner{padding-left:10px;padding-right:10px;} .btn-navbar{display:block;} .nav-collapse{overflow:hidden;height:0;}}@media (min-width:980px){.nav-collapse.collapse{height:auto !important;}}@media (min-width:1200px){.row{margin-left:-30px;*zoom:1;}.row:before,.row:after{display:table;content:"";} .row:after{clear:both;} [class*="span"]{float:left;margin-left:30px;} .span1{width:70px;} .span2{width:170px;} .span3{width:270px;} .span4{width:370px;} .span5{width:470px;} .span6{width:570px;} .span7{width:670px;} .span8{width:770px;} .span9{width:870px;} .span10{width:970px;} .span11{width:1070px;} .span12,.container{width:1170px;} .offset1{margin-left:130px;} .offset2{margin-left:230px;} .offset3{margin-left:330px;} .offset4{margin-left:430px;} .offset5{margin-left:530px;} .offset6{margin-left:630px;} .offset7{margin-left:730px;} .offset8{margin-left:830px;} .offset9{margin-left:930px;} .offset10{margin-left:1030px;} .offset11{margin-left:1130px;} .row-fluid{width:100%;*zoom:1;}.row-fluid:before,.row-fluid:after{display:table;content:"";} .row-fluid:after{clear:both;} .row-fluid>[class*="span"]{float:left;margin-left:2.564102564%;} .row-fluid>[class*="span"]:first-child{margin-left:0;} .row-fluid .span1{width:5.982905983%;} .row-fluid .span2{width:14.529914530000001%;} .row-fluid .span3{width:23.076923077%;} .row-fluid .span4{width:31.623931624%;} .row-fluid .span5{width:40.170940171000005%;} .row-fluid .span6{width:48.717948718%;} .row-fluid .span7{width:57.264957265%;} .row-fluid .span8{width:65.81196581200001%;} .row-fluid .span9{width:74.358974359%;} .row-fluid .span10{width:82.905982906%;} .row-fluid .span11{width:91.45299145300001%;} .row-fluid .span12{width:100%;} input.span1,textarea.span1,.uneditable-input.span1{width:60px;} input.span2,textarea.span2,.uneditable-input.span2{width:160px;} input.span3,textarea.span3,.uneditable-input.span3{width:260px;} input.span4,textarea.span4,.uneditable-input.span4{width:360px;} input.span5,textarea.span5,.uneditable-input.span5{width:460px;} input.span6,textarea.span6,.uneditable-input.span6{width:560px;} input.span7,textarea.span7,.uneditable-input.span7{width:660px;} input.span8,textarea.span8,.uneditable-input.span8{width:760px;} input.span9,textarea.span9,.uneditable-input.span9{width:860px;} input.span10,textarea.span10,.uneditable-input.span10{width:960px;} input.span11,textarea.span11,.uneditable-input.span11{width:1060px;} input.span12,textarea.span12,.uneditable-input.span12{width:1160px;} .thumbnails{margin-left:-30px;} .thumbnails>li{margin-left:30px;}}
diff --git a/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/css/bootstrap.css b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/css/bootstrap.css
new file mode 100644
index 0000000..a90e319
--- /dev/null
+++ b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/css/bootstrap.css
@@ -0,0 +1,3365 @@
+/*!
+ * Bootstrap v2.0.0
+ *
+ * Copyright 2012 Twitter, Inc
+ * Licensed under the Apache License v2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Designed and built with all the love in the world @twitter by @mdo and @fat.
+ */
+article,
+aside,
+details,
+figcaption,
+figure,
+footer,
+header,
+hgroup,
+nav,
+section {
+ display: block;
+}
+audio, canvas, video {
+ display: inline-block;
+ *display: inline;
+ *zoom: 1;
+}
+audio:not([controls]) {
+ display: none;
+}
+html {
+ font-size: 100%;
+ -webkit-text-size-adjust: 100%;
+ -ms-text-size-adjust: 100%;
+}
+a:focus {
+ outline: thin dotted;
+ outline: 5px auto -webkit-focus-ring-color;
+ outline-offset: -2px;
+}
+a:hover, a:active {
+ outline: 0;
+}
+sub, sup {
+ position: relative;
+ font-size: 75%;
+ line-height: 0;
+ vertical-align: baseline;
+}
+sup {
+ top: -0.5em;
+}
+sub {
+ bottom: -0.25em;
+}
+img {
+ max-width: 100%;
+ height: auto;
+ border: 0;
+ -ms-interpolation-mode: bicubic;
+}
+button,
+input,
+select,
+textarea {
+ margin: 0;
+ font-size: 100%;
+ vertical-align: middle;
+}
+button, input {
+ *overflow: visible;
+ line-height: normal;
+}
+button::-moz-focus-inner, input::-moz-focus-inner {
+ padding: 0;
+ border: 0;
+}
+button,
+input[type="button"],
+input[type="reset"],
+input[type="submit"] {
+ cursor: pointer;
+ -webkit-appearance: button;
+}
+input[type="search"] {
+ -webkit-appearance: textfield;
+ -webkit-box-sizing: content-box;
+ -moz-box-sizing: content-box;
+ box-sizing: content-box;
+}
+input[type="search"]::-webkit-search-decoration, input[type="search"]::-webkit-search-cancel-button {
+ -webkit-appearance: none;
+}
+textarea {
+ overflow: auto;
+ vertical-align: top;
+}
+body {
+ margin: 0;
+ font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
+ font-size: 13px;
+ line-height: 18px;
+ color: #333333;
+ background-color: #ffffff;
+}
+a {
+ color: #0088cc;
+ text-decoration: none;
+}
+a:hover {
+ color: #005580;
+ text-decoration: underline;
+}
+.row {
+ margin-left: -20px;
+ *zoom: 1;
+}
+.row:before, .row:after {
+ display: table;
+ content: "";
+}
+.row:after {
+ clear: both;
+}
+[class*="span"] {
+ float: left;
+ margin-left: 20px;
+}
+.span1 {
+ width: 60px;
+}
+.span2 {
+ width: 140px;
+}
+.span3 {
+ width: 220px;
+}
+.span4 {
+ width: 300px;
+}
+.span5 {
+ width: 380px;
+}
+.span6 {
+ width: 460px;
+}
+.span7 {
+ width: 540px;
+}
+.span8 {
+ width: 620px;
+}
+.span9 {
+ width: 700px;
+}
+.span10 {
+ width: 780px;
+}
+.span11 {
+ width: 860px;
+}
+.span12, .container {
+ width: 940px;
+}
+.offset1 {
+ margin-left: 100px;
+}
+.offset2 {
+ margin-left: 180px;
+}
+.offset3 {
+ margin-left: 260px;
+}
+.offset4 {
+ margin-left: 340px;
+}
+.offset5 {
+ margin-left: 420px;
+}
+.offset6 {
+ margin-left: 500px;
+}
+.offset7 {
+ margin-left: 580px;
+}
+.offset8 {
+ margin-left: 660px;
+}
+.offset9 {
+ margin-left: 740px;
+}
+.offset10 {
+ margin-left: 820px;
+}
+.offset11 {
+ margin-left: 900px;
+}
+.row-fluid {
+ width: 100%;
+ *zoom: 1;
+}
+.row-fluid:before, .row-fluid:after {
+ display: table;
+ content: "";
+}
+.row-fluid:after {
+ clear: both;
+}
+.row-fluid > [class*="span"] {
+ float: left;
+ margin-left: 2.127659574%;
+}
+.row-fluid > [class*="span"]:first-child {
+ margin-left: 0;
+}
+.row-fluid .span1 {
+ width: 6.382978723%;
+}
+.row-fluid .span2 {
+ width: 14.89361702%;
+}
+.row-fluid .span3 {
+ width: 23.404255317%;
+}
+.row-fluid .span4 {
+ width: 31.914893614%;
+}
+.row-fluid .span5 {
+ width: 40.425531911%;
+}
+.row-fluid .span6 {
+ width: 48.93617020799999%;
+}
+.row-fluid .span7 {
+ width: 57.446808505%;
+}
+.row-fluid .span8 {
+ width: 65.95744680199999%;
+}
+.row-fluid .span9 {
+ width: 74.468085099%;
+}
+.row-fluid .span10 {
+ width: 82.97872339599999%;
+}
+.row-fluid .span11 {
+ width: 91.489361693%;
+}
+.row-fluid .span12 {
+ width: 99.99999998999999%;
+}
+.container {
+ width: 940px;
+ margin-left: auto;
+ margin-right: auto;
+ *zoom: 1;
+}
+.container:before, .container:after {
+ display: table;
+ content: "";
+}
+.container:after {
+ clear: both;
+}
+.container-fluid {
+ padding-left: 20px;
+ padding-right: 20px;
+ *zoom: 1;
+}
+.container-fluid:before, .container-fluid:after {
+ display: table;
+ content: "";
+}
+.container-fluid:after {
+ clear: both;
+}
+p {
+ margin: 0 0 9px;
+ font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
+ font-size: 13px;
+ line-height: 18px;
+}
+p small {
+ font-size: 11px;
+ color: #999999;
+}
+.lead {
+ margin-bottom: 18px;
+ font-size: 20px;
+ font-weight: 200;
+ line-height: 27px;
+}
+h1,
+h2,
+h3,
+h4,
+h5,
+h6 {
+ margin: 0;
+ font-weight: bold;
+ color: #333333;
+ text-rendering: optimizelegibility;
+}
+h1 small,
+h2 small,
+h3 small,
+h4 small,
+h5 small,
+h6 small {
+ font-weight: normal;
+ color: #999999;
+}
+h1 {
+ font-size: 30px;
+ line-height: 36px;
+}
+h1 small {
+ font-size: 18px;
+}
+h2 {
+ font-size: 24px;
+ line-height: 36px;
+}
+h2 small {
+ font-size: 18px;
+}
+h3 {
+ line-height: 27px;
+ font-size: 18px;
+}
+h3 small {
+ font-size: 14px;
+}
+h4, h5, h6 {
+ line-height: 18px;
+}
+h4 {
+ font-size: 14px;
+}
+h4 small {
+ font-size: 12px;
+}
+h5 {
+ font-size: 12px;
+}
+h6 {
+ font-size: 11px;
+ color: #999999;
+ text-transform: uppercase;
+}
+.page-header {
+ padding-bottom: 17px;
+ margin: 18px 0;
+ border-bottom: 1px solid #eeeeee;
+}
+.page-header h1 {
+ line-height: 1;
+}
+ul, ol {
+ padding: 0;
+ margin: 0 0 9px 25px;
+}
+ul ul,
+ul ol,
+ol ol,
+ol ul {
+ margin-bottom: 0;
+}
+ul {
+ list-style: disc;
+}
+ol {
+ list-style: decimal;
+}
+li {
+ line-height: 18px;
+}
+ul.unstyled {
+ margin-left: 0;
+ list-style: none;
+}
+dl {
+ margin-bottom: 18px;
+}
+dt, dd {
+ line-height: 18px;
+}
+dt {
+ font-weight: bold;
+}
+dd {
+ margin-left: 9px;
+}
+hr {
+ margin: 18px 0;
+ border: 0;
+ border-top: 1px solid #e5e5e5;
+ border-bottom: 1px solid #ffffff;
+}
+strong {
+ font-weight: bold;
+}
+em {
+ font-style: italic;
+}
+.muted {
+ color: #999999;
+}
+abbr {
+ font-size: 90%;
+ text-transform: uppercase;
+ border-bottom: 1px dotted #ddd;
+ cursor: help;
+}
+blockquote {
+ padding: 0 0 0 15px;
+ margin: 0 0 18px;
+ border-left: 5px solid #eeeeee;
+}
+blockquote p {
+ margin-bottom: 0;
+ font-size: 16px;
+ font-weight: 300;
+ line-height: 22.5px;
+}
+blockquote small {
+ display: block;
+ line-height: 18px;
+ color: #999999;
+}
+blockquote small:before {
+ content: '\2014 \00A0';
+}
+blockquote.pull-right {
+ float: right;
+ padding-left: 0;
+ padding-right: 15px;
+ border-left: 0;
+ border-right: 5px solid #eeeeee;
+}
+blockquote.pull-right p, blockquote.pull-right small {
+ text-align: right;
+}
+q:before,
+q:after,
+blockquote:before,
+blockquote:after {
+ content: "";
+}
+address {
+ display: block;
+ margin-bottom: 18px;
+ line-height: 18px;
+ font-style: normal;
+}
+small {
+ font-size: 100%;
+}
+cite {
+ font-style: normal;
+}
+code, pre {
+ padding: 0 3px 2px;
+ font-family: Menlo, Monaco, "Courier New", monospace;
+ font-size: 12px;
+ color: #333333;
+ -webkit-border-radius: 3px;
+ -moz-border-radius: 3px;
+ border-radius: 3px;
+}
+code {
+ padding: 3px 4px;
+ color: #d14;
+ background-color: #f7f7f9;
+ border: 1px solid #e1e1e8;
+}
+pre {
+ display: block;
+ padding: 8.5px;
+ margin: 0 0 9px;
+ font-size: 12px;
+ line-height: 18px;
+ background-color: #f5f5f5;
+ border: 1px solid #ccc;
+ border: 1px solid rgba(0, 0, 0, 0.15);
+ -webkit-border-radius: 4px;
+ -moz-border-radius: 4px;
+ border-radius: 4px;
+ white-space: pre;
+ white-space: pre-wrap;
+ word-break: break-all;
+}
+pre.prettyprint {
+ margin-bottom: 18px;
+}
+pre code {
+ padding: 0;
+ background-color: transparent;
+}
+form {
+ margin: 0 0 18px;
+}
+fieldset {
+ padding: 0;
+ margin: 0;
+ border: 0;
+}
+legend {
+ display: block;
+ width: 100%;
+ padding: 0;
+ margin-bottom: 27px;
+ font-size: 19.5px;
+ line-height: 36px;
+ color: #333333;
+ border: 0;
+ border-bottom: 1px solid #eee;
+}
+label,
+input,
+button,
+select,
+textarea {
+ font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
+ font-size: 13px;
+ font-weight: normal;
+ line-height: 18px;
+}
+label {
+ display: block;
+ margin-bottom: 5px;
+ color: #333333;
+}
+input,
+textarea,
+select,
+.uneditable-input {
+ display: inline-block;
+ width: 210px;
+ height: 18px;
+ padding: 4px;
+ margin-bottom: 9px;
+ font-size: 13px;
+ line-height: 18px;
+ color: #555555;
+ border: 1px solid #ccc;
+ -webkit-border-radius: 3px;
+ -moz-border-radius: 3px;
+ border-radius: 3px;
+}
+.uneditable-textarea {
+ width: auto;
+ height: auto;
+}
+label input, label textarea, label select {
+ display: block;
+}
+input[type="image"], input[type="checkbox"], input[type="radio"] {
+ width: auto;
+ height: auto;
+ padding: 0;
+ margin: 3px 0;
+ *margin-top: 0;
+ /* IE7 */
+
+ line-height: normal;
+ border: 0;
+ cursor: pointer;
+ -webkit-border-radius: 0;
+ -moz-border-radius: 0;
+ border-radius: 0;
+}
+input[type="file"] {
+ padding: initial;
+ line-height: initial;
+ border: initial;
+ background-color: #ffffff;
+ background-color: initial;
+ -webkit-box-shadow: none;
+ -moz-box-shadow: none;
+ box-shadow: none;
+}
+input[type="button"], input[type="reset"], input[type="submit"] {
+ width: auto;
+ height: auto;
+}
+select, input[type="file"] {
+ height: 28px;
+ /* In IE7, the height of the select element cannot be changed by height, only font-size */
+
+ *margin-top: 4px;
+ /* For IE7, add top margin to align select with labels */
+
+ line-height: 28px;
+}
+select {
+ width: 220px;
+ background-color: #ffffff;
+}
+select[multiple], select[size] {
+ height: auto;
+}
+input[type="image"] {
+ -webkit-box-shadow: none;
+ -moz-box-shadow: none;
+ box-shadow: none;
+}
+textarea {
+ height: auto;
+}
+input[type="hidden"] {
+ display: none;
+}
+.radio, .checkbox {
+ padding-left: 18px;
+}
+.radio input[type="radio"], .checkbox input[type="checkbox"] {
+ float: left;
+ margin-left: -18px;
+}
+.controls > .radio:first-child, .controls > .checkbox:first-child {
+ padding-top: 5px;
+}
+.radio.inline, .checkbox.inline {
+ display: inline-block;
+ margin-bottom: 0;
+ vertical-align: middle;
+}
+.radio.inline + .radio.inline, .checkbox.inline + .checkbox.inline {
+ margin-left: 10px;
+}
+.controls > .radio.inline:first-child, .controls > .checkbox.inline:first-child {
+ padding-top: 0;
+}
+input, textarea {
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
+ -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
+ -webkit-transition: border linear 0.2s, box-shadow linear 0.2s;
+ -moz-transition: border linear 0.2s, box-shadow linear 0.2s;
+ -ms-transition: border linear 0.2s, box-shadow linear 0.2s;
+ -o-transition: border linear 0.2s, box-shadow linear 0.2s;
+ transition: border linear 0.2s, box-shadow linear 0.2s;
+}
+input:focus, textarea:focus {
+ border-color: rgba(82, 168, 236, 0.8);
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);
+ -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);
+ outline: 0;
+ outline: thin dotted \9;
+ /* IE6-8 */
+
+}
+input[type="file"]:focus, input[type="checkbox"]:focus, select:focus {
+ -webkit-box-shadow: none;
+ -moz-box-shadow: none;
+ box-shadow: none;
+ outline: thin dotted;
+ outline: 5px auto -webkit-focus-ring-color;
+ outline-offset: -2px;
+}
+.input-mini {
+ width: 60px;
+}
+.input-small {
+ width: 90px;
+}
+.input-medium {
+ width: 150px;
+}
+.input-large {
+ width: 210px;
+}
+.input-xlarge {
+ width: 270px;
+}
+.input-xxlarge {
+ width: 530px;
+}
+input[class*="span"],
+select[class*="span"],
+textarea[class*="span"],
+.uneditable-input {
+ float: none;
+ margin-left: 0;
+}
+input.span1, textarea.span1, .uneditable-input.span1 {
+ width: 50px;
+}
+input.span2, textarea.span2, .uneditable-input.span2 {
+ width: 130px;
+}
+input.span3, textarea.span3, .uneditable-input.span3 {
+ width: 210px;
+}
+input.span4, textarea.span4, .uneditable-input.span4 {
+ width: 290px;
+}
+input.span5, textarea.span5, .uneditable-input.span5 {
+ width: 370px;
+}
+input.span6, textarea.span6, .uneditable-input.span6 {
+ width: 450px;
+}
+input.span7, textarea.span7, .uneditable-input.span7 {
+ width: 530px;
+}
+input.span8, textarea.span8, .uneditable-input.span8 {
+ width: 610px;
+}
+input.span9, textarea.span9, .uneditable-input.span9 {
+ width: 690px;
+}
+input.span10, textarea.span10, .uneditable-input.span10 {
+ width: 770px;
+}
+input.span11, textarea.span11, .uneditable-input.span11 {
+ width: 850px;
+}
+input.span12, textarea.span12, .uneditable-input.span12 {
+ width: 930px;
+}
+input[disabled],
+select[disabled],
+textarea[disabled],
+input[readonly],
+select[readonly],
+textarea[readonly] {
+ background-color: #f5f5f5;
+ border-color: #ddd;
+ cursor: not-allowed;
+}
+.control-group.warning > label, .control-group.warning .help-block, .control-group.warning .help-inline {
+ color: #c09853;
+}
+.control-group.warning input, .control-group.warning select, .control-group.warning textarea {
+ color: #c09853;
+ border-color: #c09853;
+}
+.control-group.warning input:focus, .control-group.warning select:focus, .control-group.warning textarea:focus {
+ border-color: #a47e3c;
+ -webkit-box-shadow: 0 0 6px #dbc59e;
+ -moz-box-shadow: 0 0 6px #dbc59e;
+ box-shadow: 0 0 6px #dbc59e;
+}
+.control-group.warning .input-prepend .add-on, .control-group.warning .input-append .add-on {
+ color: #c09853;
+ background-color: #fcf8e3;
+ border-color: #c09853;
+}
+.control-group.error > label, .control-group.error .help-block, .control-group.error .help-inline {
+ color: #b94a48;
+}
+.control-group.error input, .control-group.error select, .control-group.error textarea {
+ color: #b94a48;
+ border-color: #b94a48;
+}
+.control-group.error input:focus, .control-group.error select:focus, .control-group.error textarea:focus {
+ border-color: #953b39;
+ -webkit-box-shadow: 0 0 6px #d59392;
+ -moz-box-shadow: 0 0 6px #d59392;
+ box-shadow: 0 0 6px #d59392;
+}
+.control-group.error .input-prepend .add-on, .control-group.error .input-append .add-on {
+ color: #b94a48;
+ background-color: #f2dede;
+ border-color: #b94a48;
+}
+.control-group.success > label, .control-group.success .help-block, .control-group.success .help-inline {
+ color: #468847;
+}
+.control-group.success input, .control-group.success select, .control-group.success textarea {
+ color: #468847;
+ border-color: #468847;
+}
+.control-group.success input:focus, .control-group.success select:focus, .control-group.success textarea:focus {
+ border-color: #356635;
+ -webkit-box-shadow: 0 0 6px #7aba7b;
+ -moz-box-shadow: 0 0 6px #7aba7b;
+ box-shadow: 0 0 6px #7aba7b;
+}
+.control-group.success .input-prepend .add-on, .control-group.success .input-append .add-on {
+ color: #468847;
+ background-color: #dff0d8;
+ border-color: #468847;
+}
+input:focus:required:invalid, textarea:focus:required:invalid, select:focus:required:invalid {
+ color: #b94a48;
+ border-color: #ee5f5b;
+}
+input:focus:required:invalid:focus, textarea:focus:required:invalid:focus, select:focus:required:invalid:focus {
+ border-color: #e9322d;
+ -webkit-box-shadow: 0 0 6px #f8b9b7;
+ -moz-box-shadow: 0 0 6px #f8b9b7;
+ box-shadow: 0 0 6px #f8b9b7;
+}
+.form-actions {
+ padding: 17px 20px 18px;
+ margin-top: 18px;
+ margin-bottom: 18px;
+ background-color: #f5f5f5;
+ border-top: 1px solid #ddd;
+}
+.uneditable-input {
+ display: block;
+ background-color: #ffffff;
+ border-color: #eee;
+ -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025);
+ -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025);
+ box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025);
+ cursor: not-allowed;
+}
+:-moz-placeholder {
+ color: #999999;
+}
+::-webkit-input-placeholder {
+ color: #999999;
+}
+.help-block {
+ margin-top: 5px;
+ margin-bottom: 0;
+ color: #999999;
+}
+.help-inline {
+ display: inline-block;
+ *display: inline;
+ /* IE7 inline-block hack */
+
+ *zoom: 1;
+ margin-bottom: 9px;
+ vertical-align: middle;
+ padding-left: 5px;
+}
+.input-prepend, .input-append {
+ margin-bottom: 5px;
+ *zoom: 1;
+}
+.input-prepend:before,
+.input-append:before,
+.input-prepend:after,
+.input-append:after {
+ display: table;
+ content: "";
+}
+.input-prepend:after, .input-append:after {
+ clear: both;
+}
+.input-prepend input,
+.input-append input,
+.input-prepend .uneditable-input,
+.input-append .uneditable-input {
+ -webkit-border-radius: 0 3px 3px 0;
+ -moz-border-radius: 0 3px 3px 0;
+ border-radius: 0 3px 3px 0;
+}
+.input-prepend input:focus,
+.input-append input:focus,
+.input-prepend .uneditable-input:focus,
+.input-append .uneditable-input:focus {
+ position: relative;
+ z-index: 2;
+}
+.input-prepend .uneditable-input, .input-append .uneditable-input {
+ border-left-color: #ccc;
+}
+.input-prepend .add-on, .input-append .add-on {
+ float: left;
+ display: block;
+ width: auto;
+ min-width: 16px;
+ height: 18px;
+ margin-right: -1px;
+ padding: 4px 5px;
+ font-weight: normal;
+ line-height: 18px;
+ color: #999999;
+ text-align: center;
+ text-shadow: 0 1px 0 #ffffff;
+ background-color: #f5f5f5;
+ border: 1px solid #ccc;
+ -webkit-border-radius: 3px 0 0 3px;
+ -moz-border-radius: 3px 0 0 3px;
+ border-radius: 3px 0 0 3px;
+}
+.input-prepend .active, .input-append .active {
+ background-color: #a9dba9;
+ border-color: #46a546;
+}
+.input-prepend .add-on {
+ *margin-top: 1px;
+ /* IE6-7 */
+
+}
+.input-append input, .input-append .uneditable-input {
+ float: left;
+ -webkit-border-radius: 3px 0 0 3px;
+ -moz-border-radius: 3px 0 0 3px;
+ border-radius: 3px 0 0 3px;
+}
+.input-append .uneditable-input {
+ border-right-color: #ccc;
+}
+.input-append .add-on {
+ margin-right: 0;
+ margin-left: -1px;
+ -webkit-border-radius: 0 3px 3px 0;
+ -moz-border-radius: 0 3px 3px 0;
+ border-radius: 0 3px 3px 0;
+}
+.input-append input:first-child {
+ *margin-left: -160px;
+}
+.input-append input:first-child + .add-on {
+ *margin-left: -21px;
+}
+.search-query {
+ padding-left: 14px;
+ padding-right: 14px;
+ margin-bottom: 0;
+ -webkit-border-radius: 14px;
+ -moz-border-radius: 14px;
+ border-radius: 14px;
+}
+.form-search input,
+.form-inline input,
+.form-horizontal input,
+.form-search textarea,
+.form-inline textarea,
+.form-horizontal textarea,
+.form-search select,
+.form-inline select,
+.form-horizontal select,
+.form-search .help-inline,
+.form-inline .help-inline,
+.form-horizontal .help-inline,
+.form-search .uneditable-input,
+.form-inline .uneditable-input,
+.form-horizontal .uneditable-input {
+ display: inline-block;
+ margin-bottom: 0;
+}
+.form-search label,
+.form-inline label,
+.form-search .input-append,
+.form-inline .input-append,
+.form-search .input-prepend,
+.form-inline .input-prepend {
+ display: inline-block;
+}
+.form-search .input-append .add-on,
+.form-inline .input-prepend .add-on,
+.form-search .input-append .add-on,
+.form-inline .input-prepend .add-on {
+ vertical-align: middle;
+}
+.control-group {
+ margin-bottom: 9px;
+}
+.form-horizontal legend + .control-group {
+ margin-top: 18px;
+ -webkit-margin-top-collapse: separate;
+}
+.form-horizontal .control-group {
+ margin-bottom: 18px;
+ *zoom: 1;
+}
+.form-horizontal .control-group:before, .form-horizontal .control-group:after {
+ display: table;
+ content: "";
+}
+.form-horizontal .control-group:after {
+ clear: both;
+}
+.form-horizontal .control-group > label {
+ float: left;
+ width: 140px;
+ padding-top: 5px;
+ text-align: right;
+}
+.form-horizontal .controls {
+ margin-left: 160px;
+}
+.form-horizontal .form-actions {
+ padding-left: 160px;
+}
+table {
+ max-width: 100%;
+ border-collapse: collapse;
+ border-spacing: 0;
+}
+.table {
+ width: 100%;
+ margin-bottom: 18px;
+}
+.table th, .table td {
+ padding: 8px;
+ line-height: 18px;
+ text-align: left;
+ border-top: 1px solid #ddd;
+}
+.table th {
+ font-weight: bold;
+ vertical-align: bottom;
+}
+.table td {
+ vertical-align: top;
+}
+.table thead:first-child tr th, .table thead:first-child tr td {
+ border-top: 0;
+}
+.table tbody + tbody {
+ border-top: 2px solid #ddd;
+}
+.table-condensed th, .table-condensed td {
+ padding: 4px 5px;
+}
+.table-bordered {
+ border: 1px solid #ddd;
+ border-collapse: separate;
+ *border-collapse: collapsed;
+ -webkit-border-radius: 4px;
+ -moz-border-radius: 4px;
+ border-radius: 4px;
+}
+.table-bordered th + th,
+.table-bordered td + td,
+.table-bordered th + td,
+.table-bordered td + th {
+ border-left: 1px solid #ddd;
+}
+.table-bordered thead:first-child tr:first-child th, .table-bordered tbody:first-child tr:first-child th, .table-bordered tbody:first-child tr:first-child td {
+ border-top: 0;
+}
+.table-bordered thead:first-child tr:first-child th:first-child, .table-bordered tbody:first-child tr:first-child td:first-child {
+ -webkit-border-radius: 4px 0 0 0;
+ -moz-border-radius: 4px 0 0 0;
+ border-radius: 4px 0 0 0;
+}
+.table-bordered thead:first-child tr:first-child th:last-child, .table-bordered tbody:first-child tr:first-child td:last-child {
+ -webkit-border-radius: 0 4px 0 0;
+ -moz-border-radius: 0 4px 0 0;
+ border-radius: 0 4px 0 0;
+}
+.table-bordered thead:last-child tr:last-child th:first-child, .table-bordered tbody:last-child tr:last-child td:first-child {
+ -webkit-border-radius: 0 0 0 4px;
+ -moz-border-radius: 0 0 0 4px;
+ border-radius: 0 0 0 4px;
+}
+.table-bordered thead:last-child tr:last-child th:last-child, .table-bordered tbody:last-child tr:last-child td:last-child {
+ -webkit-border-radius: 0 0 4px 0;
+ -moz-border-radius: 0 0 4px 0;
+ border-radius: 0 0 4px 0;
+}
+.table-striped tbody tr:nth-child(odd) td, .table-striped tbody tr:nth-child(odd) th {
+ background-color: #f9f9f9;
+}
+table .span1 {
+ float: none;
+ width: 44px;
+ margin-left: 0;
+}
+table .span2 {
+ float: none;
+ width: 124px;
+ margin-left: 0;
+}
+table .span3 {
+ float: none;
+ width: 204px;
+ margin-left: 0;
+}
+table .span4 {
+ float: none;
+ width: 284px;
+ margin-left: 0;
+}
+table .span5 {
+ float: none;
+ width: 364px;
+ margin-left: 0;
+}
+table .span6 {
+ float: none;
+ width: 444px;
+ margin-left: 0;
+}
+table .span7 {
+ float: none;
+ width: 524px;
+ margin-left: 0;
+}
+table .span8 {
+ float: none;
+ width: 604px;
+ margin-left: 0;
+}
+table .span9 {
+ float: none;
+ width: 684px;
+ margin-left: 0;
+}
+table .span10 {
+ float: none;
+ width: 764px;
+ margin-left: 0;
+}
+table .span11 {
+ float: none;
+ width: 844px;
+ margin-left: 0;
+}
+table .span12 {
+ float: none;
+ width: 924px;
+ margin-left: 0;
+}
+[class^="icon-"] {
+ display: inline-block;
+ width: 14px;
+ height: 14px;
+ vertical-align: text-top;
+ background-image: url(../img/glyphicons-halflings.png);
+ background-position: 14px 14px;
+ background-repeat: no-repeat;
+ *margin-right: .3em;
+}
+[class^="icon-"]:last-child {
+ *margin-left: 0;
+}
+.icon-white {
+ background-image: url(../img/glyphicons-halflings-white.png);
+}
+.icon-glass {
+ background-position: 0 0;
+}
+.icon-music {
+ background-position: -24px 0;
+}
+.icon-search {
+ background-position: -48px 0;
+}
+.icon-envelope {
+ background-position: -72px 0;
+}
+.icon-heart {
+ background-position: -96px 0;
+}
+.icon-star {
+ background-position: -120px 0;
+}
+.icon-star-empty {
+ background-position: -144px 0;
+}
+.icon-user {
+ background-position: -168px 0;
+}
+.icon-film {
+ background-position: -192px 0;
+}
+.icon-th-large {
+ background-position: -216px 0;
+}
+.icon-th {
+ background-position: -240px 0;
+}
+.icon-th-list {
+ background-position: -264px 0;
+}
+.icon-ok {
+ background-position: -288px 0;
+}
+.icon-remove {
+ background-position: -312px 0;
+}
+.icon-zoom-in {
+ background-position: -336px 0;
+}
+.icon-zoom-out {
+ background-position: -360px 0;
+}
+.icon-off {
+ background-position: -384px 0;
+}
+.icon-signal {
+ background-position: -408px 0;
+}
+.icon-cog {
+ background-position: -432px 0;
+}
+.icon-trash {
+ background-position: -456px 0;
+}
+.icon-home {
+ background-position: 0 -24px;
+}
+.icon-file {
+ background-position: -24px -24px;
+}
+.icon-time {
+ background-position: -48px -24px;
+}
+.icon-road {
+ background-position: -72px -24px;
+}
+.icon-download-alt {
+ background-position: -96px -24px;
+}
+.icon-download {
+ background-position: -120px -24px;
+}
+.icon-upload {
+ background-position: -144px -24px;
+}
+.icon-inbox {
+ background-position: -168px -24px;
+}
+.icon-play-circle {
+ background-position: -192px -24px;
+}
+.icon-repeat {
+ background-position: -216px -24px;
+}
+.icon-refresh {
+ background-position: -240px -24px;
+}
+.icon-list-alt {
+ background-position: -264px -24px;
+}
+.icon-lock {
+ background-position: -287px -24px;
+}
+.icon-flag {
+ background-position: -312px -24px;
+}
+.icon-headphones {
+ background-position: -336px -24px;
+}
+.icon-volume-off {
+ background-position: -360px -24px;
+}
+.icon-volume-down {
+ background-position: -384px -24px;
+}
+.icon-volume-up {
+ background-position: -408px -24px;
+}
+.icon-qrcode {
+ background-position: -432px -24px;
+}
+.icon-barcode {
+ background-position: -456px -24px;
+}
+.icon-tag {
+ background-position: 0 -48px;
+}
+.icon-tags {
+ background-position: -25px -48px;
+}
+.icon-book {
+ background-position: -48px -48px;
+}
+.icon-bookmark {
+ background-position: -72px -48px;
+}
+.icon-print {
+ background-position: -96px -48px;
+}
+.icon-camera {
+ background-position: -120px -48px;
+}
+.icon-font {
+ background-position: -144px -48px;
+}
+.icon-bold {
+ background-position: -167px -48px;
+}
+.icon-italic {
+ background-position: -192px -48px;
+}
+.icon-text-height {
+ background-position: -216px -48px;
+}
+.icon-text-width {
+ background-position: -240px -48px;
+}
+.icon-align-left {
+ background-position: -264px -48px;
+}
+.icon-align-center {
+ background-position: -288px -48px;
+}
+.icon-align-right {
+ background-position: -312px -48px;
+}
+.icon-align-justify {
+ background-position: -336px -48px;
+}
+.icon-list {
+ background-position: -360px -48px;
+}
+.icon-indent-left {
+ background-position: -384px -48px;
+}
+.icon-indent-right {
+ background-position: -408px -48px;
+}
+.icon-facetime-video {
+ background-position: -432px -48px;
+}
+.icon-picture {
+ background-position: -456px -48px;
+}
+.icon-pencil {
+ background-position: 0 -72px;
+}
+.icon-map-marker {
+ background-position: -24px -72px;
+}
+.icon-adjust {
+ background-position: -48px -72px;
+}
+.icon-tint {
+ background-position: -72px -72px;
+}
+.icon-edit {
+ background-position: -96px -72px;
+}
+.icon-share {
+ background-position: -120px -72px;
+}
+.icon-check {
+ background-position: -144px -72px;
+}
+.icon-move {
+ background-position: -168px -72px;
+}
+.icon-step-backward {
+ background-position: -192px -72px;
+}
+.icon-fast-backward {
+ background-position: -216px -72px;
+}
+.icon-backward {
+ background-position: -240px -72px;
+}
+.icon-play {
+ background-position: -264px -72px;
+}
+.icon-pause {
+ background-position: -288px -72px;
+}
+.icon-stop {
+ background-position: -312px -72px;
+}
+.icon-forward {
+ background-position: -336px -72px;
+}
+.icon-fast-forward {
+ background-position: -360px -72px;
+}
+.icon-step-forward {
+ background-position: -384px -72px;
+}
+.icon-eject {
+ background-position: -408px -72px;
+}
+.icon-chevron-left {
+ background-position: -432px -72px;
+}
+.icon-chevron-right {
+ background-position: -456px -72px;
+}
+.icon-plus-sign {
+ background-position: 0 -96px;
+}
+.icon-minus-sign {
+ background-position: -24px -96px;
+}
+.icon-remove-sign {
+ background-position: -48px -96px;
+}
+.icon-ok-sign {
+ background-position: -72px -96px;
+}
+.icon-question-sign {
+ background-position: -96px -96px;
+}
+.icon-info-sign {
+ background-position: -120px -96px;
+}
+.icon-screenshot {
+ background-position: -144px -96px;
+}
+.icon-remove-circle {
+ background-position: -168px -96px;
+}
+.icon-ok-circle {
+ background-position: -192px -96px;
+}
+.icon-ban-circle {
+ background-position: -216px -96px;
+}
+.icon-arrow-left {
+ background-position: -240px -96px;
+}
+.icon-arrow-right {
+ background-position: -264px -96px;
+}
+.icon-arrow-up {
+ background-position: -289px -96px;
+}
+.icon-arrow-down {
+ background-position: -312px -96px;
+}
+.icon-share-alt {
+ background-position: -336px -96px;
+}
+.icon-resize-full {
+ background-position: -360px -96px;
+}
+.icon-resize-small {
+ background-position: -384px -96px;
+}
+.icon-plus {
+ background-position: -408px -96px;
+}
+.icon-minus {
+ background-position: -433px -96px;
+}
+.icon-asterisk {
+ background-position: -456px -96px;
+}
+.icon-exclamation-sign {
+ background-position: 0 -120px;
+}
+.icon-gift {
+ background-position: -24px -120px;
+}
+.icon-leaf {
+ background-position: -48px -120px;
+}
+.icon-fire {
+ background-position: -72px -120px;
+}
+.icon-eye-open {
+ background-position: -96px -120px;
+}
+.icon-eye-close {
+ background-position: -120px -120px;
+}
+.icon-warning-sign {
+ background-position: -144px -120px;
+}
+.icon-plane {
+ background-position: -168px -120px;
+}
+.icon-calendar {
+ background-position: -192px -120px;
+}
+.icon-random {
+ background-position: -216px -120px;
+}
+.icon-comment {
+ background-position: -240px -120px;
+}
+.icon-magnet {
+ background-position: -264px -120px;
+}
+.icon-chevron-up {
+ background-position: -288px -120px;
+}
+.icon-chevron-down {
+ background-position: -313px -119px;
+}
+.icon-retweet {
+ background-position: -336px -120px;
+}
+.icon-shopping-cart {
+ background-position: -360px -120px;
+}
+.icon-folder-close {
+ background-position: -384px -120px;
+}
+.icon-folder-open {
+ background-position: -408px -120px;
+}
+.icon-resize-vertical {
+ background-position: -432px -119px;
+}
+.icon-resize-horizontal {
+ background-position: -456px -118px;
+}
+.dropdown {
+ position: relative;
+}
+.dropdown-toggle {
+ *margin-bottom: -3px;
+}
+.dropdown-toggle:active, .open .dropdown-toggle {
+ outline: 0;
+}
+.caret {
+ display: inline-block;
+ width: 0;
+ height: 0;
+ text-indent: -99999px;
+ *text-indent: 0;
+ vertical-align: top;
+ border-left: 4px solid transparent;
+ border-right: 4px solid transparent;
+ border-top: 4px solid #000000;
+ opacity: 0.3;
+ filter: alpha(opacity=30);
+ content: "\2193";
+}
+.dropdown .caret {
+ margin-top: 8px;
+ margin-left: 2px;
+}
+.dropdown:hover .caret, .open.dropdown .caret {
+ opacity: 1;
+ filter: alpha(opacity=100);
+}
+.dropdown-menu {
+ position: absolute;
+ top: 100%;
+ left: 0;
+ z-index: 1000;
+ float: left;
+ display: none;
+ min-width: 160px;
+ max-width: 220px;
+ _width: 160px;
+ padding: 4px 0;
+ margin: 0;
+ list-style: none;
+ background-color: #ffffff;
+ border-color: #ccc;
+ border-color: rgba(0, 0, 0, 0.2);
+ border-style: solid;
+ border-width: 1px;
+ -webkit-border-radius: 0 0 5px 5px;
+ -moz-border-radius: 0 0 5px 5px;
+ border-radius: 0 0 5px 5px;
+ -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
+ -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
+ box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
+ -webkit-background-clip: padding-box;
+ -moz-background-clip: padding;
+ background-clip: padding-box;
+ *border-right-width: 2px;
+ *border-bottom-width: 2px;
+}
+.dropdown-menu.bottom-up {
+ top: auto;
+ bottom: 100%;
+ margin-bottom: 2px;
+}
+.dropdown-menu .divider {
+ height: 1px;
+ margin: 5px 1px;
+ overflow: hidden;
+ background-color: #e5e5e5;
+ border-bottom: 1px solid #ffffff;
+ *width: 100%;
+ *margin: -5px 0 5px;
+}
+.dropdown-menu a {
+ display: block;
+ padding: 3px 15px;
+ clear: both;
+ font-weight: normal;
+ line-height: 18px;
+ color: #555555;
+ white-space: nowrap;
+}
+.dropdown-menu li > a:hover, .dropdown-menu .active > a, .dropdown-menu .active > a:hover {
+ color: #ffffff;
+ text-decoration: none;
+ background-color: #0088cc;
+}
+.dropdown.open {
+ *z-index: 1000;
+}
+.dropdown.open .dropdown-toggle {
+ color: #ffffff;
+ background: #ccc;
+ background: rgba(0, 0, 0, 0.3);
+}
+.dropdown.open .dropdown-menu {
+ display: block;
+}
+.typeahead {
+ margin-top: 2px;
+ -webkit-border-radius: 4px;
+ -moz-border-radius: 4px;
+ border-radius: 4px;
+}
+.well {
+ min-height: 20px;
+ padding: 19px;
+ margin-bottom: 20px;
+ background-color: #f5f5f5;
+ border: 1px solid #eee;
+ border: 1px solid rgba(0, 0, 0, 0.05);
+ -webkit-border-radius: 4px;
+ -moz-border-radius: 4px;
+ border-radius: 4px;
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
+ -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
+}
+.well blockquote {
+ border-color: #ddd;
+ border-color: rgba(0, 0, 0, 0.15);
+}
+.fade {
+ -webkit-transition: opacity 0.15s linear;
+ -moz-transition: opacity 0.15s linear;
+ -ms-transition: opacity 0.15s linear;
+ -o-transition: opacity 0.15s linear;
+ transition: opacity 0.15s linear;
+ opacity: 0;
+}
+.fade.in {
+ opacity: 1;
+}
+.collapse {
+ -webkit-transition: height 0.35s ease;
+ -moz-transition: height 0.35s ease;
+ -ms-transition: height 0.35s ease;
+ -o-transition: height 0.35s ease;
+ transition: height 0.35s ease;
+ position: relative;
+ overflow: hidden;
+ height: 0;
+}
+.collapse.in {
+ height: auto;
+}
+.close {
+ float: right;
+ font-size: 20px;
+ font-weight: bold;
+ line-height: 18px;
+ color: #000000;
+ text-shadow: 0 1px 0 #ffffff;
+ opacity: 0.2;
+ filter: alpha(opacity=20);
+}
+.close:hover {
+ color: #000000;
+ text-decoration: none;
+ opacity: 0.4;
+ filter: alpha(opacity=40);
+ cursor: pointer;
+}
+.btn {
+ display: inline-block;
+ padding: 4px 10px 4px;
+ font-size: 13px;
+ line-height: 18px;
+ color: #333333;
+ text-align: center;
+ text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
+ background-color: #fafafa;
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), color-stop(25%, #ffffff), to(#e6e6e6));
+ background-image: -webkit-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);
+ background-image: -moz-linear-gradient(top, #ffffff, #ffffff 25%, #e6e6e6);
+ background-image: -ms-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);
+ background-image: -o-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);
+ background-image: linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);
+ background-repeat: no-repeat;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#e6e6e6', GradientType=0);
+ border: 1px solid #ccc;
+ border-bottom-color: #bbb;
+ -webkit-border-radius: 4px;
+ -moz-border-radius: 4px;
+ border-radius: 4px;
+ -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
+ -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
+ box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
+ cursor: pointer;
+ *margin-left: .3em;
+}
+.btn:first-child {
+ *margin-left: 0;
+}
+.btn:hover {
+ color: #333333;
+ text-decoration: none;
+ background-color: #e6e6e6;
+ background-position: 0 -15px;
+ -webkit-transition: background-position 0.1s linear;
+ -moz-transition: background-position 0.1s linear;
+ -ms-transition: background-position 0.1s linear;
+ -o-transition: background-position 0.1s linear;
+ transition: background-position 0.1s linear;
+}
+.btn:focus {
+ outline: thin dotted;
+ outline: 5px auto -webkit-focus-ring-color;
+ outline-offset: -2px;
+}
+.btn.active, .btn:active {
+ background-image: none;
+ -webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
+ -moz-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
+ box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
+ background-color: #e6e6e6;
+ background-color: #d9d9d9 \9;
+ color: rgba(0, 0, 0, 0.5);
+ outline: 0;
+}
+.btn.disabled, .btn[disabled] {
+ cursor: default;
+ background-image: none;
+ background-color: #e6e6e6;
+ opacity: 0.65;
+ filter: alpha(opacity=65);
+ -webkit-box-shadow: none;
+ -moz-box-shadow: none;
+ box-shadow: none;
+}
+.btn-large {
+ padding: 9px 14px;
+ font-size: 15px;
+ line-height: normal;
+ -webkit-border-radius: 5px;
+ -moz-border-radius: 5px;
+ border-radius: 5px;
+}
+.btn-large .icon {
+ margin-top: 1px;
+}
+.btn-small {
+ padding: 5px 9px;
+ font-size: 11px;
+ line-height: 16px;
+}
+.btn-small .icon {
+ margin-top: -1px;
+}
+.btn-primary,
+.btn-primary:hover,
+.btn-warning,
+.btn-warning:hover,
+.btn-danger,
+.btn-danger:hover,
+.btn-success,
+.btn-success:hover,
+.btn-info,
+.btn-info:hover {
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
+ color: #ffffff;
+}
+.btn-primary.active,
+.btn-warning.active,
+.btn-danger.active,
+.btn-success.active,
+.btn-info.active {
+ color: rgba(255, 255, 255, 0.75);
+}
+.btn-primary {
+ background-color: #006dcc;
+ background-image: -moz-linear-gradient(top, #0088cc, #0044cc);
+ background-image: -ms-linear-gradient(top, #0088cc, #0044cc);
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc));
+ background-image: -webkit-linear-gradient(top, #0088cc, #0044cc);
+ background-image: -o-linear-gradient(top, #0088cc, #0044cc);
+ background-image: linear-gradient(top, #0088cc, #0044cc);
+ background-repeat: repeat-x;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc', endColorstr='#0044cc', GradientType=0);
+ border-color: #0044cc #0044cc #002a80;
+ border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
+ filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
+}
+.btn-primary:hover,
+.btn-primary:active,
+.btn-primary.active,
+.btn-primary.disabled,
+.btn-primary[disabled] {
+ background-color: #0044cc;
+}
+.btn-primary:active, .btn-primary.active {
+ background-color: #003399 \9;
+}
+.btn-warning {
+ background-color: #faa732;
+ background-image: -moz-linear-gradient(top, #fbb450, #f89406);
+ background-image: -ms-linear-gradient(top, #fbb450, #f89406);
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406));
+ background-image: -webkit-linear-gradient(top, #fbb450, #f89406);
+ background-image: -o-linear-gradient(top, #fbb450, #f89406);
+ background-image: linear-gradient(top, #fbb450, #f89406);
+ background-repeat: repeat-x;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fbb450', endColorstr='#f89406', GradientType=0);
+ border-color: #f89406 #f89406 #ad6704;
+ border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
+ filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
+}
+.btn-warning:hover,
+.btn-warning:active,
+.btn-warning.active,
+.btn-warning.disabled,
+.btn-warning[disabled] {
+ background-color: #f89406;
+}
+.btn-warning:active, .btn-warning.active {
+ background-color: #c67605 \9;
+}
+.btn-danger {
+ background-color: #da4f49;
+ background-image: -moz-linear-gradient(top, #ee5f5b, #bd362f);
+ background-image: -ms-linear-gradient(top, #ee5f5b, #bd362f);
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#bd362f));
+ background-image: -webkit-linear-gradient(top, #ee5f5b, #bd362f);
+ background-image: -o-linear-gradient(top, #ee5f5b, #bd362f);
+ background-image: linear-gradient(top, #ee5f5b, #bd362f);
+ background-repeat: repeat-x;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ee5f5b', endColorstr='#bd362f', GradientType=0);
+ border-color: #bd362f #bd362f #802420;
+ border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
+ filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
+}
+.btn-danger:hover,
+.btn-danger:active,
+.btn-danger.active,
+.btn-danger.disabled,
+.btn-danger[disabled] {
+ background-color: #bd362f;
+}
+.btn-danger:active, .btn-danger.active {
+ background-color: #942a25 \9;
+}
+.btn-success {
+ background-color: #5bb75b;
+ background-image: -moz-linear-gradient(top, #62c462, #51a351);
+ background-image: -ms-linear-gradient(top, #62c462, #51a351);
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#51a351));
+ background-image: -webkit-linear-gradient(top, #62c462, #51a351);
+ background-image: -o-linear-gradient(top, #62c462, #51a351);
+ background-image: linear-gradient(top, #62c462, #51a351);
+ background-repeat: repeat-x;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#62c462', endColorstr='#51a351', GradientType=0);
+ border-color: #51a351 #51a351 #387038;
+ border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
+ filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
+}
+.btn-success:hover,
+.btn-success:active,
+.btn-success.active,
+.btn-success.disabled,
+.btn-success[disabled] {
+ background-color: #51a351;
+}
+.btn-success:active, .btn-success.active {
+ background-color: #408140 \9;
+}
+.btn-info {
+ background-color: #49afcd;
+ background-image: -moz-linear-gradient(top, #5bc0de, #2f96b4);
+ background-image: -ms-linear-gradient(top, #5bc0de, #2f96b4);
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#2f96b4));
+ background-image: -webkit-linear-gradient(top, #5bc0de, #2f96b4);
+ background-image: -o-linear-gradient(top, #5bc0de, #2f96b4);
+ background-image: linear-gradient(top, #5bc0de, #2f96b4);
+ background-repeat: repeat-x;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#5bc0de', endColorstr='#2f96b4', GradientType=0);
+ border-color: #2f96b4 #2f96b4 #1f6377;
+ border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
+ filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
+}
+.btn-info:hover,
+.btn-info:active,
+.btn-info.active,
+.btn-info.disabled,
+.btn-info[disabled] {
+ background-color: #2f96b4;
+}
+.btn-info:active, .btn-info.active {
+ background-color: #24748c \9;
+}
+button.btn, input[type="submit"].btn {
+ *padding-top: 2px;
+ *padding-bottom: 2px;
+}
+button.btn::-moz-focus-inner, input[type="submit"].btn::-moz-focus-inner {
+ padding: 0;
+ border: 0;
+}
+button.btn.large, input[type="submit"].btn.large {
+ *padding-top: 7px;
+ *padding-bottom: 7px;
+}
+button.btn.small, input[type="submit"].btn.small {
+ *padding-top: 3px;
+ *padding-bottom: 3px;
+}
+.btn-group {
+ position: relative;
+ *zoom: 1;
+ *margin-left: .3em;
+}
+.btn-group:before, .btn-group:after {
+ display: table;
+ content: "";
+}
+.btn-group:after {
+ clear: both;
+}
+.btn-group:first-child {
+ *margin-left: 0;
+}
+.btn-group + .btn-group {
+ margin-left: 5px;
+}
+.btn-toolbar {
+ margin-top: 9px;
+ margin-bottom: 9px;
+}
+.btn-toolbar .btn-group {
+ display: inline-block;
+ *display: inline;
+ /* IE7 inline-block hack */
+
+ *zoom: 1;
+}
+.btn-group .btn {
+ position: relative;
+ float: left;
+ margin-left: -1px;
+ -webkit-border-radius: 0;
+ -moz-border-radius: 0;
+ border-radius: 0;
+}
+.btn-group .btn:first-child {
+ margin-left: 0;
+ -webkit-border-top-left-radius: 4px;
+ -moz-border-radius-topleft: 4px;
+ border-top-left-radius: 4px;
+ -webkit-border-bottom-left-radius: 4px;
+ -moz-border-radius-bottomleft: 4px;
+ border-bottom-left-radius: 4px;
+}
+.btn-group .btn:last-child, .btn-group .dropdown-toggle {
+ -webkit-border-top-right-radius: 4px;
+ -moz-border-radius-topright: 4px;
+ border-top-right-radius: 4px;
+ -webkit-border-bottom-right-radius: 4px;
+ -moz-border-radius-bottomright: 4px;
+ border-bottom-right-radius: 4px;
+}
+.btn-group .btn.large:first-child {
+ margin-left: 0;
+ -webkit-border-top-left-radius: 6px;
+ -moz-border-radius-topleft: 6px;
+ border-top-left-radius: 6px;
+ -webkit-border-bottom-left-radius: 6px;
+ -moz-border-radius-bottomleft: 6px;
+ border-bottom-left-radius: 6px;
+}
+.btn-group .btn.large:last-child, .btn-group .large.dropdown-toggle {
+ -webkit-border-top-right-radius: 6px;
+ -moz-border-radius-topright: 6px;
+ border-top-right-radius: 6px;
+ -webkit-border-bottom-right-radius: 6px;
+ -moz-border-radius-bottomright: 6px;
+ border-bottom-right-radius: 6px;
+}
+.btn-group .btn:hover,
+.btn-group .btn:focus,
+.btn-group .btn:active,
+.btn-group .btn.active {
+ z-index: 2;
+}
+.btn-group .dropdown-toggle:active, .btn-group.open .dropdown-toggle {
+ outline: 0;
+}
+.btn-group .dropdown-toggle {
+ padding-left: 8px;
+ padding-right: 8px;
+ -webkit-box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
+ -moz-box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
+ box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
+ *padding-top: 5px;
+ *padding-bottom: 5px;
+}
+.btn-group.open {
+ *z-index: 1000;
+}
+.btn-group.open .dropdown-menu {
+ display: block;
+ margin-top: 1px;
+ -webkit-border-radius: 5px;
+ -moz-border-radius: 5px;
+ border-radius: 5px;
+}
+.btn-group.open .dropdown-toggle {
+ background-image: none;
+ -webkit-box-shadow: inset 0 1px 6px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
+ -moz-box-shadow: inset 0 1px 6px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
+ box-shadow: inset 0 1px 6px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
+}
+.btn .caret {
+ margin-top: 7px;
+ margin-left: 0;
+}
+.btn:hover .caret, .open.btn-group .caret {
+ opacity: 1;
+ filter: alpha(opacity=100);
+}
+.btn-primary .caret,
+.btn-danger .caret,
+.btn-info .caret,
+.btn-success .caret {
+ border-top-color: #ffffff;
+ opacity: 0.75;
+ filter: alpha(opacity=75);
+}
+.btn-small .caret {
+ margin-top: 4px;
+}
+.alert {
+ padding: 8px 35px 8px 14px;
+ margin-bottom: 18px;
+ text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
+ background-color: #fcf8e3;
+ border: 1px solid #fbeed5;
+ -webkit-border-radius: 4px;
+ -moz-border-radius: 4px;
+ border-radius: 4px;
+}
+.alert, .alert-heading {
+ color: #c09853;
+}
+.alert .close {
+ position: relative;
+ top: -2px;
+ right: -21px;
+ line-height: 18px;
+}
+.alert-success {
+ background-color: #dff0d8;
+ border-color: #d6e9c6;
+}
+.alert-success, .alert-success .alert-heading {
+ color: #468847;
+}
+.alert-danger, .alert-error {
+ background-color: #f2dede;
+ border-color: #eed3d7;
+}
+.alert-danger,
+.alert-error,
+.alert-danger .alert-heading,
+.alert-error .alert-heading {
+ color: #b94a48;
+}
+.alert-info {
+ background-color: #d9edf7;
+ border-color: #bce8f1;
+}
+.alert-info, .alert-info .alert-heading {
+ color: #3a87ad;
+}
+.alert-block {
+ padding-top: 14px;
+ padding-bottom: 14px;
+}
+.alert-block > p, .alert-block > ul {
+ margin-bottom: 0;
+}
+.alert-block p + p {
+ margin-top: 5px;
+}
+.nav {
+ margin-left: 0;
+ margin-bottom: 18px;
+ list-style: none;
+}
+.nav > li > a {
+ display: block;
+}
+.nav > li > a:hover {
+ text-decoration: none;
+ background-color: #eeeeee;
+}
+.nav-list {
+ padding-left: 14px;
+ padding-right: 14px;
+ margin-bottom: 0;
+}
+.nav-list > li > a, .nav-list .nav-header {
+ display: block;
+ padding: 3px 15px;
+ margin-left: -15px;
+ margin-right: -15px;
+ text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
+}
+.nav-list .nav-header {
+ font-size: 11px;
+ font-weight: bold;
+ line-height: 18px;
+ color: #999999;
+ text-transform: uppercase;
+}
+.nav-list > li + .nav-header {
+ margin-top: 9px;
+}
+.nav-list .active > a, .nav-list .active > a:hover {
+ color: #ffffff;
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);
+ background-color: #0088cc;
+}
+.nav-list [class^="icon-"] {
+ margin-right: 2px;
+}
+.nav-tabs, .nav-pills {
+ *zoom: 1;
+}
+.nav-tabs:before,
+.nav-pills:before,
+.nav-tabs:after,
+.nav-pills:after {
+ display: table;
+ content: "";
+}
+.nav-tabs:after, .nav-pills:after {
+ clear: both;
+}
+.nav-tabs > li, .nav-pills > li {
+ float: left;
+}
+.nav-tabs > li > a, .nav-pills > li > a {
+ padding-right: 12px;
+ padding-left: 12px;
+ margin-right: 2px;
+ line-height: 14px;
+}
+.nav-tabs {
+ border-bottom: 1px solid #ddd;
+}
+.nav-tabs > li {
+ margin-bottom: -1px;
+}
+.nav-tabs > li > a {
+ padding-top: 9px;
+ padding-bottom: 9px;
+ border: 1px solid transparent;
+ -webkit-border-radius: 4px 4px 0 0;
+ -moz-border-radius: 4px 4px 0 0;
+ border-radius: 4px 4px 0 0;
+}
+.nav-tabs > li > a:hover {
+ border-color: #eeeeee #eeeeee #dddddd;
+}
+.nav-tabs > .active > a, .nav-tabs > .active > a:hover {
+ color: #555555;
+ background-color: #ffffff;
+ border: 1px solid #ddd;
+ border-bottom-color: transparent;
+ cursor: default;
+}
+.nav-pills > li > a {
+ padding-top: 8px;
+ padding-bottom: 8px;
+ margin-top: 2px;
+ margin-bottom: 2px;
+ -webkit-border-radius: 5px;
+ -moz-border-radius: 5px;
+ border-radius: 5px;
+}
+.nav-pills .active > a, .nav-pills .active > a:hover {
+ color: #ffffff;
+ background-color: #0088cc;
+}
+.nav-stacked > li {
+ float: none;
+}
+.nav-stacked > li > a {
+ margin-right: 0;
+}
+.nav-tabs.nav-stacked {
+ border-bottom: 0;
+}
+.nav-tabs.nav-stacked > li > a {
+ border: 1px solid #ddd;
+ -webkit-border-radius: 0;
+ -moz-border-radius: 0;
+ border-radius: 0;
+}
+.nav-tabs.nav-stacked > li:first-child > a {
+ -webkit-border-radius: 4px 4px 0 0;
+ -moz-border-radius: 4px 4px 0 0;
+ border-radius: 4px 4px 0 0;
+}
+.nav-tabs.nav-stacked > li:last-child > a {
+ -webkit-border-radius: 0 0 4px 4px;
+ -moz-border-radius: 0 0 4px 4px;
+ border-radius: 0 0 4px 4px;
+}
+.nav-tabs.nav-stacked > li > a:hover {
+ border-color: #ddd;
+ z-index: 2;
+}
+.nav-pills.nav-stacked > li > a {
+ margin-bottom: 3px;
+}
+.nav-pills.nav-stacked > li:last-child > a {
+ margin-bottom: 1px;
+}
+.nav-tabs .dropdown-menu, .nav-pills .dropdown-menu {
+ margin-top: 1px;
+ border-width: 1px;
+}
+.nav-pills .dropdown-menu {
+ -webkit-border-radius: 4px;
+ -moz-border-radius: 4px;
+ border-radius: 4px;
+}
+.nav-tabs .dropdown-toggle .caret, .nav-pills .dropdown-toggle .caret {
+ border-top-color: #0088cc;
+ margin-top: 6px;
+}
+.nav-tabs .dropdown-toggle:hover .caret, .nav-pills .dropdown-toggle:hover .caret {
+ border-top-color: #005580;
+}
+.nav-tabs .active .dropdown-toggle .caret, .nav-pills .active .dropdown-toggle .caret {
+ border-top-color: #333333;
+}
+.nav > .dropdown.active > a:hover {
+ color: #000000;
+ cursor: pointer;
+}
+.nav-tabs .open .dropdown-toggle, .nav-pills .open .dropdown-toggle, .nav > .open.active > a:hover {
+ color: #ffffff;
+ background-color: #999999;
+ border-color: #999999;
+}
+.nav .open .caret, .nav .open.active .caret, .nav .open a:hover .caret {
+ border-top-color: #ffffff;
+ opacity: 1;
+ filter: alpha(opacity=100);
+}
+.tabs-stacked .open > a:hover {
+ border-color: #999999;
+}
+.tabbable {
+ *zoom: 1;
+}
+.tabbable:before, .tabbable:after {
+ display: table;
+ content: "";
+}
+.tabbable:after {
+ clear: both;
+}
+.tabs-below .nav-tabs, .tabs-right .nav-tabs, .tabs-left .nav-tabs {
+ border-bottom: 0;
+}
+.tab-content > .tab-pane, .pill-content > .pill-pane {
+ display: none;
+}
+.tab-content > .active, .pill-content > .active {
+ display: block;
+}
+.tabs-below .nav-tabs {
+ border-top: 1px solid #ddd;
+}
+.tabs-below .nav-tabs > li {
+ margin-top: -1px;
+ margin-bottom: 0;
+}
+.tabs-below .nav-tabs > li > a {
+ -webkit-border-radius: 0 0 4px 4px;
+ -moz-border-radius: 0 0 4px 4px;
+ border-radius: 0 0 4px 4px;
+}
+.tabs-below .nav-tabs > li > a:hover {
+ border-bottom-color: transparent;
+ border-top-color: #ddd;
+}
+.tabs-below .nav-tabs .active > a, .tabs-below .nav-tabs .active > a:hover {
+ border-color: transparent #ddd #ddd #ddd;
+}
+.tabs-left .nav-tabs > li, .tabs-right .nav-tabs > li {
+ float: none;
+}
+.tabs-left .nav-tabs > li > a, .tabs-right .nav-tabs > li > a {
+ min-width: 74px;
+ margin-right: 0;
+ margin-bottom: 3px;
+}
+.tabs-left .nav-tabs {
+ float: left;
+ margin-right: 19px;
+ border-right: 1px solid #ddd;
+}
+.tabs-left .nav-tabs > li > a {
+ margin-right: -1px;
+ -webkit-border-radius: 4px 0 0 4px;
+ -moz-border-radius: 4px 0 0 4px;
+ border-radius: 4px 0 0 4px;
+}
+.tabs-left .nav-tabs > li > a:hover {
+ border-color: #eeeeee #dddddd #eeeeee #eeeeee;
+}
+.tabs-left .nav-tabs .active > a, .tabs-left .nav-tabs .active > a:hover {
+ border-color: #ddd transparent #ddd #ddd;
+ *border-right-color: #ffffff;
+}
+.tabs-right .nav-tabs {
+ float: right;
+ margin-left: 19px;
+ border-left: 1px solid #ddd;
+}
+.tabs-right .nav-tabs > li > a {
+ margin-left: -1px;
+ -webkit-border-radius: 0 4px 4px 0;
+ -moz-border-radius: 0 4px 4px 0;
+ border-radius: 0 4px 4px 0;
+}
+.tabs-right .nav-tabs > li > a:hover {
+ border-color: #eeeeee #eeeeee #eeeeee #dddddd;
+}
+.tabs-right .nav-tabs .active > a, .tabs-right .nav-tabs .active > a:hover {
+ border-color: #ddd #ddd #ddd transparent;
+ *border-left-color: #ffffff;
+}
+.navbar {
+ overflow: visible;
+ margin-bottom: 18px;
+}
+.navbar-inner {
+ padding-left: 20px;
+ padding-right: 20px;
+ background-color: #2c2c2c;
+ background-image: -moz-linear-gradient(top, #333333, #222222);
+ background-image: -ms-linear-gradient(top, #333333, #222222);
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#333333), to(#222222));
+ background-image: -webkit-linear-gradient(top, #333333, #222222);
+ background-image: -o-linear-gradient(top, #333333, #222222);
+ background-image: linear-gradient(top, #333333, #222222);
+ background-repeat: repeat-x;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#333333', endColorstr='#222222', GradientType=0);
+ -webkit-border-radius: 4px;
+ -moz-border-radius: 4px;
+ border-radius: 4px;
+ -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), inset 0 -1px 0 rgba(0, 0, 0, 0.1);
+ -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), inset 0 -1px 0 rgba(0, 0, 0, 0.1);
+ box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), inset 0 -1px 0 rgba(0, 0, 0, 0.1);
+}
+.btn-navbar {
+ display: none;
+ float: right;
+ padding: 7px 10px;
+ margin-left: 5px;
+ margin-right: 5px;
+ background-color: #2c2c2c;
+ background-image: -moz-linear-gradient(top, #333333, #222222);
+ background-image: -ms-linear-gradient(top, #333333, #222222);
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#333333), to(#222222));
+ background-image: -webkit-linear-gradient(top, #333333, #222222);
+ background-image: -o-linear-gradient(top, #333333, #222222);
+ background-image: linear-gradient(top, #333333, #222222);
+ background-repeat: repeat-x;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#333333', endColorstr='#222222', GradientType=0);
+ border-color: #222222 #222222 #000000;
+ border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
+ filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
+ -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075);
+ -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075);
+ box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075);
+}
+.btn-navbar:hover,
+.btn-navbar:active,
+.btn-navbar.active,
+.btn-navbar.disabled,
+.btn-navbar[disabled] {
+ background-color: #222222;
+}
+.btn-navbar:active, .btn-navbar.active {
+ background-color: #080808 \9;
+}
+.btn-navbar .icon-bar {
+ display: block;
+ width: 18px;
+ height: 2px;
+ background-color: #f5f5f5;
+ -webkit-border-radius: 1px;
+ -moz-border-radius: 1px;
+ border-radius: 1px;
+ -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);
+ -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);
+ box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);
+}
+.btn-navbar .icon-bar + .icon-bar {
+ margin-top: 3px;
+}
+.nav-collapse.collapse {
+ height: auto;
+}
+.navbar .brand:hover {
+ text-decoration: none;
+}
+.navbar .brand {
+ float: left;
+ display: block;
+ padding: 8px 20px 12px;
+ margin-left: -20px;
+ font-size: 20px;
+ font-weight: 200;
+ line-height: 1;
+ color: #ffffff;
+}
+.navbar .navbar-text {
+ margin-bottom: 0;
+ line-height: 40px;
+ color: #999999;
+}
+.navbar .navbar-text a:hover {
+ color: #ffffff;
+ background-color: transparent;
+}
+.navbar .btn, .navbar .btn-group {
+ margin-top: 5px;
+}
+.navbar .btn-group .btn {
+ margin-top: 0;
+}
+.navbar-form {
+ margin-bottom: 0;
+ *zoom: 1;
+}
+.navbar-form:before, .navbar-form:after {
+ display: table;
+ content: "";
+}
+.navbar-form:after {
+ clear: both;
+}
+.navbar-form input, .navbar-form select {
+ display: inline-block;
+ margin-top: 5px;
+ margin-bottom: 0;
+}
+.navbar-form .radio, .navbar-form .checkbox {
+ margin-top: 5px;
+}
+.navbar-form input[type="image"], .navbar-form input[type="checkbox"], .navbar-form input[type="radio"] {
+ margin-top: 3px;
+}
+.navbar-search {
+ position: relative;
+ float: left;
+ margin-top: 6px;
+ margin-bottom: 0;
+}
+.navbar-search .search-query {
+ padding: 4px 9px;
+ font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
+ font-size: 13px;
+ font-weight: normal;
+ line-height: 1;
+ color: #ffffff;
+ color: rgba(255, 255, 255, 0.75);
+ background: #666;
+ background: rgba(255, 255, 255, 0.3);
+ border: 1px solid #111;
+ -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0px rgba(255, 255, 255, 0.15);
+ -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0px rgba(255, 255, 255, 0.15);
+ box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0px rgba(255, 255, 255, 0.15);
+ -webkit-transition: none;
+ -moz-transition: none;
+ -ms-transition: none;
+ -o-transition: none;
+ transition: none;
+}
+.navbar-search .search-query :-moz-placeholder {
+ color: #eeeeee;
+}
+.navbar-search .search-query::-webkit-input-placeholder {
+ color: #eeeeee;
+}
+.navbar-search .search-query:hover {
+ color: #ffffff;
+ background-color: #999999;
+ background-color: rgba(255, 255, 255, 0.5);
+}
+.navbar-search .search-query:focus, .navbar-search .search-query.focused {
+ padding: 5px 10px;
+ color: #333333;
+ text-shadow: 0 1px 0 #ffffff;
+ background-color: #ffffff;
+ border: 0;
+ -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);
+ -moz-box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);
+ box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);
+ outline: 0;
+}
+.navbar-fixed-top {
+ position: fixed;
+ top: 0;
+ right: 0;
+ left: 0;
+ z-index: 1030;
+}
+.navbar-fixed-top .navbar-inner {
+ padding-left: 0;
+ padding-right: 0;
+ -webkit-border-radius: 0;
+ -moz-border-radius: 0;
+ border-radius: 0;
+}
+.navbar .nav {
+ position: relative;
+ left: 0;
+ display: block;
+ float: left;
+ margin: 0 10px 0 0;
+}
+.navbar .nav.pull-right {
+ float: right;
+}
+.navbar .nav > li {
+ display: block;
+ float: left;
+}
+.navbar .nav > li > a {
+ float: none;
+ padding: 10px 10px 11px;
+ line-height: 19px;
+ color: #999999;
+ text-decoration: none;
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
+}
+.navbar .nav > li > a:hover {
+ background-color: transparent;
+ color: #ffffff;
+ text-decoration: none;
+}
+.navbar .nav .active > a, .navbar .nav .active > a:hover {
+ color: #ffffff;
+ text-decoration: none;
+ background-color: #222222;
+ background-color: rgba(0, 0, 0, 0.5);
+}
+.navbar .divider-vertical {
+ height: 40px;
+ width: 1px;
+ margin: 0 9px;
+ overflow: hidden;
+ background-color: #222222;
+ border-right: 1px solid #333333;
+}
+.navbar .nav.pull-right {
+ margin-left: 10px;
+ margin-right: 0;
+}
+.navbar .dropdown-menu {
+ margin-top: 1px;
+ -webkit-border-radius: 4px;
+ -moz-border-radius: 4px;
+ border-radius: 4px;
+}
+.navbar .dropdown-menu:before {
+ content: '';
+ display: inline-block;
+ border-left: 7px solid transparent;
+ border-right: 7px solid transparent;
+ border-bottom: 7px solid #ccc;
+ border-bottom-color: rgba(0, 0, 0, 0.2);
+ position: absolute;
+ top: -7px;
+ left: 9px;
+}
+.navbar .dropdown-menu:after {
+ content: '';
+ display: inline-block;
+ border-left: 6px solid transparent;
+ border-right: 6px solid transparent;
+ border-bottom: 6px solid #ffffff;
+ position: absolute;
+ top: -6px;
+ left: 10px;
+}
+.navbar .nav .dropdown-toggle .caret, .navbar .nav .open.dropdown .caret {
+ border-top-color: #ffffff;
+}
+.navbar .nav .active .caret {
+ opacity: 1;
+ filter: alpha(opacity=100);
+}
+.navbar .nav .open > .dropdown-toggle, .navbar .nav .active > .dropdown-toggle, .navbar .nav .open.active > .dropdown-toggle {
+ background-color: transparent;
+}
+.navbar .nav .active > .dropdown-toggle:hover {
+ color: #ffffff;
+}
+.navbar .nav.pull-right .dropdown-menu {
+ left: auto;
+ right: 0;
+}
+.navbar .nav.pull-right .dropdown-menu:before {
+ left: auto;
+ right: 12px;
+}
+.navbar .nav.pull-right .dropdown-menu:after {
+ left: auto;
+ right: 13px;
+}
+.breadcrumb {
+ padding: 7px 14px;
+ margin: 0 0 18px;
+ background-color: #fbfbfb;
+ background-image: -moz-linear-gradient(top, #ffffff, #f5f5f5);
+ background-image: -ms-linear-gradient(top, #ffffff, #f5f5f5);
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#f5f5f5));
+ background-image: -webkit-linear-gradient(top, #ffffff, #f5f5f5);
+ background-image: -o-linear-gradient(top, #ffffff, #f5f5f5);
+ background-image: linear-gradient(top, #ffffff, #f5f5f5);
+ background-repeat: repeat-x;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#f5f5f5', GradientType=0);
+ border: 1px solid #ddd;
+ -webkit-border-radius: 3px;
+ -moz-border-radius: 3px;
+ border-radius: 3px;
+ -webkit-box-shadow: inset 0 1px 0 #ffffff;
+ -moz-box-shadow: inset 0 1px 0 #ffffff;
+ box-shadow: inset 0 1px 0 #ffffff;
+}
+.breadcrumb li {
+ display: inline;
+ text-shadow: 0 1px 0 #ffffff;
+}
+.breadcrumb .divider {
+ padding: 0 5px;
+ color: #999999;
+}
+.breadcrumb .active a {
+ color: #333333;
+}
+.pagination {
+ height: 36px;
+ margin: 18px 0;
+}
+.pagination ul {
+ display: inline-block;
+ *display: inline;
+ /* IE7 inline-block hack */
+
+ *zoom: 1;
+ margin-left: 0;
+ margin-bottom: 0;
+ -webkit-border-radius: 3px;
+ -moz-border-radius: 3px;
+ border-radius: 3px;
+ -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
+ -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
+ box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
+}
+.pagination li {
+ display: inline;
+}
+.pagination a {
+ float: left;
+ padding: 0 14px;
+ line-height: 34px;
+ text-decoration: none;
+ border: 1px solid #ddd;
+ border-left-width: 0;
+}
+.pagination a:hover, .pagination .active a {
+ background-color: #f5f5f5;
+}
+.pagination .active a {
+ color: #999999;
+ cursor: default;
+}
+.pagination .disabled a, .pagination .disabled a:hover {
+ color: #999999;
+ background-color: transparent;
+ cursor: default;
+}
+.pagination li:first-child a {
+ border-left-width: 1px;
+ -webkit-border-radius: 3px 0 0 3px;
+ -moz-border-radius: 3px 0 0 3px;
+ border-radius: 3px 0 0 3px;
+}
+.pagination li:last-child a {
+ -webkit-border-radius: 0 3px 3px 0;
+ -moz-border-radius: 0 3px 3px 0;
+ border-radius: 0 3px 3px 0;
+}
+.pagination-centered {
+ text-align: center;
+}
+.pagination-right {
+ text-align: right;
+}
+.pager {
+ margin-left: 0;
+ margin-bottom: 18px;
+ list-style: none;
+ text-align: center;
+ *zoom: 1;
+}
+.pager:before, .pager:after {
+ display: table;
+ content: "";
+}
+.pager:after {
+ clear: both;
+}
+.pager li {
+ display: inline;
+}
+.pager a {
+ display: inline-block;
+ padding: 5px 14px;
+ background-color: #fff;
+ border: 1px solid #ddd;
+ -webkit-border-radius: 15px;
+ -moz-border-radius: 15px;
+ border-radius: 15px;
+}
+.pager a:hover {
+ text-decoration: none;
+ background-color: #f5f5f5;
+}
+.pager .next a {
+ float: right;
+}
+.pager .previous a {
+ float: left;
+}
+.modal-open .dropdown-menu {
+ z-index: 2050;
+}
+.modal-open .dropdown.open {
+ *z-index: 2050;
+}
+.modal-open .popover {
+ z-index: 2060;
+}
+.modal-open .tooltip {
+ z-index: 2070;
+}
+.modal-backdrop {
+ position: fixed;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ z-index: 1040;
+ background-color: #000000;
+}
+.modal-backdrop.fade {
+ opacity: 0;
+}
+.modal-backdrop, .modal-backdrop.fade.in {
+ opacity: 0.8;
+ filter: alpha(opacity=80);
+}
+.modal {
+ position: fixed;
+ top: 50%;
+ left: 50%;
+ z-index: 1050;
+ max-height: 500px;
+ overflow: auto;
+ width: 560px;
+ margin: -250px 0 0 -280px;
+ background-color: #ffffff;
+ border: 1px solid #999;
+ border: 1px solid rgba(0, 0, 0, 0.3);
+ *border: 1px solid #999;
+ /* IE6-7 */
+
+ -webkit-border-radius: 6px;
+ -moz-border-radius: 6px;
+ border-radius: 6px;
+ -webkit-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);
+ -moz-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);
+ box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);
+ -webkit-background-clip: padding-box;
+ -moz-background-clip: padding-box;
+ background-clip: padding-box;
+}
+.modal.fade {
+ -webkit-transition: opacity .3s linear, top .3s ease-out;
+ -moz-transition: opacity .3s linear, top .3s ease-out;
+ -ms-transition: opacity .3s linear, top .3s ease-out;
+ -o-transition: opacity .3s linear, top .3s ease-out;
+ transition: opacity .3s linear, top .3s ease-out;
+ top: -25%;
+}
+.modal.fade.in {
+ top: 50%;
+}
+.modal-header {
+ padding: 9px 15px;
+ border-bottom: 1px solid #eee;
+}
+.modal-header .close {
+ margin-top: 2px;
+}
+.modal-body {
+ padding: 15px;
+}
+.modal-footer {
+ padding: 14px 15px 15px;
+ margin-bottom: 0;
+ background-color: #f5f5f5;
+ border-top: 1px solid #ddd;
+ -webkit-border-radius: 0 0 6px 6px;
+ -moz-border-radius: 0 0 6px 6px;
+ border-radius: 0 0 6px 6px;
+ -webkit-box-shadow: inset 0 1px 0 #ffffff;
+ -moz-box-shadow: inset 0 1px 0 #ffffff;
+ box-shadow: inset 0 1px 0 #ffffff;
+ *zoom: 1;
+}
+.modal-footer:before, .modal-footer:after {
+ display: table;
+ content: "";
+}
+.modal-footer:after {
+ clear: both;
+}
+.modal-footer .btn {
+ float: right;
+ margin-left: 5px;
+ margin-bottom: 0;
+}
+.tooltip {
+ position: absolute;
+ z-index: 1020;
+ display: block;
+ visibility: visible;
+ padding: 5px;
+ font-size: 11px;
+ opacity: 0;
+ filter: alpha(opacity=0);
+}
+.tooltip.in {
+ opacity: 0.8;
+ filter: alpha(opacity=80);
+}
+.tooltip.top {
+ margin-top: -2px;
+}
+.tooltip.right {
+ margin-left: 2px;
+}
+.tooltip.bottom {
+ margin-top: 2px;
+}
+.tooltip.left {
+ margin-left: -2px;
+}
+.tooltip.top .tooltip-arrow {
+ bottom: 0;
+ left: 50%;
+ margin-left: -5px;
+ border-left: 5px solid transparent;
+ border-right: 5px solid transparent;
+ border-top: 5px solid #000000;
+}
+.tooltip.left .tooltip-arrow {
+ top: 50%;
+ right: 0;
+ margin-top: -5px;
+ border-top: 5px solid transparent;
+ border-bottom: 5px solid transparent;
+ border-left: 5px solid #000000;
+}
+.tooltip.bottom .tooltip-arrow {
+ top: 0;
+ left: 50%;
+ margin-left: -5px;
+ border-left: 5px solid transparent;
+ border-right: 5px solid transparent;
+ border-bottom: 5px solid #000000;
+}
+.tooltip.right .tooltip-arrow {
+ top: 50%;
+ left: 0;
+ margin-top: -5px;
+ border-top: 5px solid transparent;
+ border-bottom: 5px solid transparent;
+ border-right: 5px solid #000000;
+}
+.tooltip-inner {
+ max-width: 200px;
+ padding: 3px 8px;
+ color: #ffffff;
+ text-align: center;
+ text-decoration: none;
+ background-color: #000000;
+ -webkit-border-radius: 4px;
+ -moz-border-radius: 4px;
+ border-radius: 4px;
+}
+.tooltip-arrow {
+ position: absolute;
+ width: 0;
+ height: 0;
+}
+.popover {
+ position: absolute;
+ top: 0;
+ left: 0;
+ z-index: 1010;
+ display: none;
+ padding: 5px;
+}
+.popover.top {
+ margin-top: -5px;
+}
+.popover.right {
+ margin-left: 5px;
+}
+.popover.bottom {
+ margin-top: 5px;
+}
+.popover.left {
+ margin-left: -5px;
+}
+.popover.top .arrow {
+ bottom: 0;
+ left: 50%;
+ margin-left: -5px;
+ border-left: 5px solid transparent;
+ border-right: 5px solid transparent;
+ border-top: 5px solid #000000;
+}
+.popover.right .arrow {
+ top: 50%;
+ left: 0;
+ margin-top: -5px;
+ border-top: 5px solid transparent;
+ border-bottom: 5px solid transparent;
+ border-right: 5px solid #000000;
+}
+.popover.bottom .arrow {
+ top: 0;
+ left: 50%;
+ margin-left: -5px;
+ border-left: 5px solid transparent;
+ border-right: 5px solid transparent;
+ border-bottom: 5px solid #000000;
+}
+.popover.left .arrow {
+ top: 50%;
+ right: 0;
+ margin-top: -5px;
+ border-top: 5px solid transparent;
+ border-bottom: 5px solid transparent;
+ border-left: 5px solid #000000;
+}
+.popover .arrow {
+ position: absolute;
+ width: 0;
+ height: 0;
+}
+.popover-inner {
+ padding: 3px;
+ width: 280px;
+ overflow: hidden;
+ background: #000000;
+ background: rgba(0, 0, 0, 0.8);
+ -webkit-border-radius: 6px;
+ -moz-border-radius: 6px;
+ border-radius: 6px;
+ -webkit-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);
+ -moz-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);
+ box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);
+}
+.popover-title {
+ padding: 9px 15px;
+ line-height: 1;
+ background-color: #f5f5f5;
+ border-bottom: 1px solid #eee;
+ -webkit-border-radius: 3px 3px 0 0;
+ -moz-border-radius: 3px 3px 0 0;
+ border-radius: 3px 3px 0 0;
+}
+.popover-content {
+ padding: 14px;
+ background-color: #ffffff;
+ -webkit-border-radius: 0 0 3px 3px;
+ -moz-border-radius: 0 0 3px 3px;
+ border-radius: 0 0 3px 3px;
+ -webkit-background-clip: padding-box;
+ -moz-background-clip: padding-box;
+ background-clip: padding-box;
+}
+.popover-content p, .popover-content ul, .popover-content ol {
+ margin-bottom: 0;
+}
+.thumbnails {
+ margin-left: -20px;
+ list-style: none;
+ *zoom: 1;
+}
+.thumbnails:before, .thumbnails:after {
+ display: table;
+ content: "";
+}
+.thumbnails:after {
+ clear: both;
+}
+.thumbnails > li {
+ float: left;
+ margin: 0 0 18px 20px;
+}
+.thumbnail {
+ display: block;
+ padding: 4px;
+ line-height: 1;
+ border: 1px solid #ddd;
+ -webkit-border-radius: 4px;
+ -moz-border-radius: 4px;
+ border-radius: 4px;
+ -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075);
+ -moz-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075);
+ box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075);
+}
+a.thumbnail:hover {
+ border-color: #0088cc;
+ -webkit-box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25);
+ -moz-box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25);
+ box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25);
+}
+.thumbnail > img {
+ display: block;
+ max-width: 100%;
+ margin-left: auto;
+ margin-right: auto;
+}
+.thumbnail .caption {
+ padding: 9px;
+}
+.label {
+ padding: 1px 3px 2px;
+ font-size: 9.75px;
+ font-weight: bold;
+ color: #ffffff;
+ text-transform: uppercase;
+ background-color: #999999;
+ -webkit-border-radius: 3px;
+ -moz-border-radius: 3px;
+ border-radius: 3px;
+}
+.label-important {
+ background-color: #b94a48;
+}
+.label-warning {
+ background-color: #f89406;
+}
+.label-success {
+ background-color: #468847;
+}
+.label-info {
+ background-color: #3a87ad;
+}
+@-webkit-keyframes progress-bar-stripes {
+ from {
+ background-position: 0 0;
+ }
+ to {
+ background-position: 40px 0;
+ }
+}
+@-moz-keyframes progress-bar-stripes {
+ from {
+ background-position: 0 0;
+ }
+ to {
+ background-position: 40px 0;
+ }
+}
+@keyframes progress-bar-stripes {
+ from {
+ background-position: 0 0;
+ }
+ to {
+ background-position: 40px 0;
+ }
+}
+.progress {
+ overflow: hidden;
+ height: 18px;
+ margin-bottom: 18px;
+ background-color: #f7f7f7;
+ background-image: -moz-linear-gradient(top, #f5f5f5, #f9f9f9);
+ background-image: -ms-linear-gradient(top, #f5f5f5, #f9f9f9);
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f5f5f5), to(#f9f9f9));
+ background-image: -webkit-linear-gradient(top, #f5f5f5, #f9f9f9);
+ background-image: -o-linear-gradient(top, #f5f5f5, #f9f9f9);
+ background-image: linear-gradient(top, #f5f5f5, #f9f9f9);
+ background-repeat: repeat-x;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f5f5f5', endColorstr='#f9f9f9', GradientType=0);
+ -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
+ -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
+ box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
+ -webkit-border-radius: 4px;
+ -moz-border-radius: 4px;
+ border-radius: 4px;
+}
+.progress .bar {
+ width: 0%;
+ height: 18px;
+ color: #ffffff;
+ font-size: 12px;
+ text-align: center;
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
+ background-color: #0e90d2;
+ background-image: -moz-linear-gradient(top, #149bdf, #0480be);
+ background-image: -ms-linear-gradient(top, #149bdf, #0480be);
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#149bdf), to(#0480be));
+ background-image: -webkit-linear-gradient(top, #149bdf, #0480be);
+ background-image: -o-linear-gradient(top, #149bdf, #0480be);
+ background-image: linear-gradient(top, #149bdf, #0480be);
+ background-repeat: repeat-x;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#149bdf', endColorstr='#0480be', GradientType=0);
+ -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
+ -moz-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
+ box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+ -webkit-transition: width 0.6s ease;
+ -moz-transition: width 0.6s ease;
+ -ms-transition: width 0.6s ease;
+ -o-transition: width 0.6s ease;
+ transition: width 0.6s ease;
+}
+.progress-striped .bar {
+ background-color: #62c462;
+ background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));
+ background-image: -webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+ background-image: -moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+ background-image: -ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+ background-image: -o-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+ background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+ -webkit-background-size: 40px 40px;
+ -moz-background-size: 40px 40px;
+ -o-background-size: 40px 40px;
+ background-size: 40px 40px;
+}
+.progress.active .bar {
+ -webkit-animation: progress-bar-stripes 2s linear infinite;
+ -moz-animation: progress-bar-stripes 2s linear infinite;
+ animation: progress-bar-stripes 2s linear infinite;
+}
+.progress-danger .bar {
+ background-color: #dd514c;
+ background-image: -moz-linear-gradient(top, #ee5f5b, #c43c35);
+ background-image: -ms-linear-gradient(top, #ee5f5b, #c43c35);
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#c43c35));
+ background-image: -webkit-linear-gradient(top, #ee5f5b, #c43c35);
+ background-image: -o-linear-gradient(top, #ee5f5b, #c43c35);
+ background-image: linear-gradient(top, #ee5f5b, #c43c35);
+ background-repeat: repeat-x;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ee5f5b', endColorstr='#c43c35', GradientType=0);
+}
+.progress-danger.progress-striped .bar {
+ background-color: #ee5f5b;
+ background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));
+ background-image: -webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+ background-image: -moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+ background-image: -ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+ background-image: -o-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+ background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+}
+.progress-success .bar {
+ background-color: #5eb95e;
+ background-image: -moz-linear-gradient(top, #62c462, #57a957);
+ background-image: -ms-linear-gradient(top, #62c462, #57a957);
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#57a957));
+ background-image: -webkit-linear-gradient(top, #62c462, #57a957);
+ background-image: -o-linear-gradient(top, #62c462, #57a957);
+ background-image: linear-gradient(top, #62c462, #57a957);
+ background-repeat: repeat-x;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#62c462', endColorstr='#57a957', GradientType=0);
+}
+.progress-success.progress-striped .bar {
+ background-color: #62c462;
+ background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));
+ background-image: -webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+ background-image: -moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+ background-image: -ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+ background-image: -o-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+ background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+}
+.progress-info .bar {
+ background-color: #4bb1cf;
+ background-image: -moz-linear-gradient(top, #5bc0de, #339bb9);
+ background-image: -ms-linear-gradient(top, #5bc0de, #339bb9);
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#339bb9));
+ background-image: -webkit-linear-gradient(top, #5bc0de, #339bb9);
+ background-image: -o-linear-gradient(top, #5bc0de, #339bb9);
+ background-image: linear-gradient(top, #5bc0de, #339bb9);
+ background-repeat: repeat-x;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#5bc0de', endColorstr='#339bb9', GradientType=0);
+}
+.progress-info.progress-striped .bar {
+ background-color: #5bc0de;
+ background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));
+ background-image: -webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+ background-image: -moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+ background-image: -ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+ background-image: -o-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+ background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+}
+.accordion {
+ margin-bottom: 18px;
+}
+.accordion-group {
+ margin-bottom: 2px;
+ border: 1px solid #e5e5e5;
+ -webkit-border-radius: 4px;
+ -moz-border-radius: 4px;
+ border-radius: 4px;
+}
+.accordion-heading {
+ border-bottom: 0;
+}
+.accordion-heading .accordion-toggle {
+ display: block;
+ padding: 8px 15px;
+}
+.accordion-inner {
+ padding: 9px 15px;
+ border-top: 1px solid #e5e5e5;
+}
+.carousel {
+ position: relative;
+ margin-bottom: 18px;
+ line-height: 1;
+}
+.carousel-inner {
+ overflow: hidden;
+ width: 100%;
+ position: relative;
+}
+.carousel .item {
+ display: none;
+ position: relative;
+ -webkit-transition: 0.6s ease-in-out left;
+ -moz-transition: 0.6s ease-in-out left;
+ -ms-transition: 0.6s ease-in-out left;
+ -o-transition: 0.6s ease-in-out left;
+ transition: 0.6s ease-in-out left;
+}
+.carousel .item > img {
+ display: block;
+ line-height: 1;
+}
+.carousel .active, .carousel .next, .carousel .prev {
+ display: block;
+}
+.carousel .active {
+ left: 0;
+}
+.carousel .next, .carousel .prev {
+ position: absolute;
+ top: 0;
+ width: 100%;
+}
+.carousel .next {
+ left: 100%;
+}
+.carousel .prev {
+ left: -100%;
+}
+.carousel .next.left, .carousel .prev.right {
+ left: 0;
+}
+.carousel .active.left {
+ left: -100%;
+}
+.carousel .active.right {
+ left: 100%;
+}
+.carousel-control {
+ position: absolute;
+ top: 40%;
+ left: 15px;
+ width: 40px;
+ height: 40px;
+ margin-top: -20px;
+ font-size: 60px;
+ font-weight: 100;
+ line-height: 30px;
+ color: #ffffff;
+ text-align: center;
+ background: #222222;
+ border: 3px solid #ffffff;
+ -webkit-border-radius: 23px;
+ -moz-border-radius: 23px;
+ border-radius: 23px;
+ opacity: 0.5;
+ filter: alpha(opacity=50);
+}
+.carousel-control.right {
+ left: auto;
+ right: 15px;
+}
+.carousel-control:hover {
+ color: #ffffff;
+ text-decoration: none;
+ opacity: 0.9;
+ filter: alpha(opacity=90);
+}
+.carousel-caption {
+ position: absolute;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ padding: 10px 15px 5px;
+ background: #333333;
+ background: rgba(0, 0, 0, 0.75);
+}
+.carousel-caption h4, .carousel-caption p {
+ color: #ffffff;
+}
+.hero-unit {
+ padding: 60px;
+ margin-bottom: 30px;
+ background-color: #f5f5f5;
+ -webkit-border-radius: 6px;
+ -moz-border-radius: 6px;
+ border-radius: 6px;
+}
+.hero-unit h1 {
+ margin-bottom: 0;
+ font-size: 60px;
+ line-height: 1;
+ letter-spacing: -1px;
+}
+.hero-unit p {
+ font-size: 18px;
+ font-weight: 200;
+ line-height: 27px;
+}
+.pull-right {
+ float: right;
+}
+.pull-left {
+ float: left;
+}
+.hide {
+ display: none;
+}
+.show {
+ display: block;
+}
+.invisible {
+ visibility: hidden;
+}
diff --git a/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/css/bootstrap.min.css b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/css/bootstrap.min.css
new file mode 100644
index 0000000..b01f92e
--- /dev/null
+++ b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/css/bootstrap.min.css
@@ -0,0 +1,610 @@
+article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block;}
+audio,canvas,video{display:inline-block;*display:inline;*zoom:1;}
+audio:not([controls]){display:none;}
+html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;}
+a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px;}
+a:hover,a:active{outline:0;}
+sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline;}
+sup{top:-0.5em;}
+sub{bottom:-0.25em;}
+img{max-width:100%;height:auto;border:0;-ms-interpolation-mode:bicubic;}
+button,input,select,textarea{margin:0;font-size:100%;vertical-align:middle;}
+button,input{*overflow:visible;line-height:normal;}
+button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0;}
+button,input[type="button"],input[type="reset"],input[type="submit"]{cursor:pointer;-webkit-appearance:button;}
+input[type="search"]{-webkit-appearance:textfield;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;}
+input[type="search"]::-webkit-search-decoration,input[type="search"]::-webkit-search-cancel-button{-webkit-appearance:none;}
+textarea{overflow:auto;vertical-align:top;}
+body{margin:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;line-height:18px;color:#333333;background-color:#ffffff;}
+a{color:#0088cc;text-decoration:none;}
+a:hover{color:#005580;text-decoration:underline;}
+.row{margin-left:-20px;*zoom:1;}.row:before,.row:after{display:table;content:"";}
+.row:after{clear:both;}
+[class*="span"]{float:left;margin-left:20px;}
+.span1{width:60px;}
+.span2{width:140px;}
+.span3{width:220px;}
+.span4{width:300px;}
+.span5{width:380px;}
+.span6{width:460px;}
+.span7{width:540px;}
+.span8{width:620px;}
+.span9{width:700px;}
+.span10{width:780px;}
+.span11{width:860px;}
+.span12,.container{width:940px;}
+.offset1{margin-left:100px;}
+.offset2{margin-left:180px;}
+.offset3{margin-left:260px;}
+.offset4{margin-left:340px;}
+.offset5{margin-left:420px;}
+.offset6{margin-left:500px;}
+.offset7{margin-left:580px;}
+.offset8{margin-left:660px;}
+.offset9{margin-left:740px;}
+.offset10{margin-left:820px;}
+.offset11{margin-left:900px;}
+.row-fluid{width:100%;*zoom:1;}.row-fluid:before,.row-fluid:after{display:table;content:"";}
+.row-fluid:after{clear:both;}
+.row-fluid>[class*="span"]{float:left;margin-left:2.127659574%;}
+.row-fluid>[class*="span"]:first-child{margin-left:0;}
+.row-fluid .span1{width:6.382978723%;}
+.row-fluid .span2{width:14.89361702%;}
+.row-fluid .span3{width:23.404255317%;}
+.row-fluid .span4{width:31.914893614%;}
+.row-fluid .span5{width:40.425531911%;}
+.row-fluid .span6{width:48.93617020799999%;}
+.row-fluid .span7{width:57.446808505%;}
+.row-fluid .span8{width:65.95744680199999%;}
+.row-fluid .span9{width:74.468085099%;}
+.row-fluid .span10{width:82.97872339599999%;}
+.row-fluid .span11{width:91.489361693%;}
+.row-fluid .span12{width:99.99999998999999%;}
+.container{width:940px;margin-left:auto;margin-right:auto;*zoom:1;}.container:before,.container:after{display:table;content:"";}
+.container:after{clear:both;}
+.container-fluid{padding-left:20px;padding-right:20px;*zoom:1;}.container-fluid:before,.container-fluid:after{display:table;content:"";}
+.container-fluid:after{clear:both;}
+p{margin:0 0 9px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;line-height:18px;}p small{font-size:11px;color:#999999;}
+.lead{margin-bottom:18px;font-size:20px;font-weight:200;line-height:27px;}
+h1,h2,h3,h4,h5,h6{margin:0;font-weight:bold;color:#333333;text-rendering:optimizelegibility;}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{font-weight:normal;color:#999999;}
+h1{font-size:30px;line-height:36px;}h1 small{font-size:18px;}
+h2{font-size:24px;line-height:36px;}h2 small{font-size:18px;}
+h3{line-height:27px;font-size:18px;}h3 small{font-size:14px;}
+h4,h5,h6{line-height:18px;}
+h4{font-size:14px;}h4 small{font-size:12px;}
+h5{font-size:12px;}
+h6{font-size:11px;color:#999999;text-transform:uppercase;}
+.page-header{padding-bottom:17px;margin:18px 0;border-bottom:1px solid #eeeeee;}
+.page-header h1{line-height:1;}
+ul,ol{padding:0;margin:0 0 9px 25px;}
+ul ul,ul ol,ol ol,ol ul{margin-bottom:0;}
+ul{list-style:disc;}
+ol{list-style:decimal;}
+li{line-height:18px;}
+ul.unstyled{margin-left:0;list-style:none;}
+dl{margin-bottom:18px;}
+dt,dd{line-height:18px;}
+dt{font-weight:bold;}
+dd{margin-left:9px;}
+hr{margin:18px 0;border:0;border-top:1px solid #e5e5e5;border-bottom:1px solid #ffffff;}
+strong{font-weight:bold;}
+em{font-style:italic;}
+.muted{color:#999999;}
+abbr{font-size:90%;text-transform:uppercase;border-bottom:1px dotted #ddd;cursor:help;}
+blockquote{padding:0 0 0 15px;margin:0 0 18px;border-left:5px solid #eeeeee;}blockquote p{margin-bottom:0;font-size:16px;font-weight:300;line-height:22.5px;}
+blockquote small{display:block;line-height:18px;color:#999999;}blockquote small:before{content:'\2014 \00A0';}
+blockquote.pull-right{float:right;padding-left:0;padding-right:15px;border-left:0;border-right:5px solid #eeeeee;}blockquote.pull-right p,blockquote.pull-right small{text-align:right;}
+q:before,q:after,blockquote:before,blockquote:after{content:"";}
+address{display:block;margin-bottom:18px;line-height:18px;font-style:normal;}
+small{font-size:100%;}
+cite{font-style:normal;}
+code,pre{padding:0 3px 2px;font-family:Menlo,Monaco,"Courier New",monospace;font-size:12px;color:#333333;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}
+code{padding:3px 4px;color:#d14;background-color:#f7f7f9;border:1px solid #e1e1e8;}
+pre{display:block;padding:8.5px;margin:0 0 9px;font-size:12px;line-height:18px;background-color:#f5f5f5;border:1px solid #ccc;border:1px solid rgba(0, 0, 0, 0.15);-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;white-space:pre;white-space:pre-wrap;word-break:break-all;}pre.prettyprint{margin-bottom:18px;}
+pre code{padding:0;background-color:transparent;}
+form{margin:0 0 18px;}
+fieldset{padding:0;margin:0;border:0;}
+legend{display:block;width:100%;padding:0;margin-bottom:27px;font-size:19.5px;line-height:36px;color:#333333;border:0;border-bottom:1px solid #eee;}
+label,input,button,select,textarea{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;font-weight:normal;line-height:18px;}
+label{display:block;margin-bottom:5px;color:#333333;}
+input,textarea,select,.uneditable-input{display:inline-block;width:210px;height:18px;padding:4px;margin-bottom:9px;font-size:13px;line-height:18px;color:#555555;border:1px solid #ccc;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}
+.uneditable-textarea{width:auto;height:auto;}
+label input,label textarea,label select{display:block;}
+input[type="image"],input[type="checkbox"],input[type="radio"]{width:auto;height:auto;padding:0;margin:3px 0;*margin-top:0;line-height:normal;border:0;cursor:pointer;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;}
+input[type="file"]{padding:initial;line-height:initial;border:initial;background-color:#ffffff;background-color:initial;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;}
+input[type="button"],input[type="reset"],input[type="submit"]{width:auto;height:auto;}
+select,input[type="file"]{height:28px;*margin-top:4px;line-height:28px;}
+select{width:220px;background-color:#ffffff;}
+select[multiple],select[size]{height:auto;}
+input[type="image"]{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;}
+textarea{height:auto;}
+input[type="hidden"]{display:none;}
+.radio,.checkbox{padding-left:18px;}
+.radio input[type="radio"],.checkbox input[type="checkbox"]{float:left;margin-left:-18px;}
+.controls>.radio:first-child,.controls>.checkbox:first-child{padding-top:5px;}
+.radio.inline,.checkbox.inline{display:inline-block;margin-bottom:0;vertical-align:middle;}
+.radio.inline+.radio.inline,.checkbox.inline+.checkbox.inline{margin-left:10px;}
+.controls>.radio.inline:first-child,.controls>.checkbox.inline:first-child{padding-top:0;}
+input,textarea{-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);-webkit-transition:border linear 0.2s,box-shadow linear 0.2s;-moz-transition:border linear 0.2s,box-shadow linear 0.2s;-ms-transition:border linear 0.2s,box-shadow linear 0.2s;-o-transition:border linear 0.2s,box-shadow linear 0.2s;transition:border linear 0.2s,box-shadow linear 0.2s;}
+input:focus,textarea:focus{border-color:rgba(82, 168, 236, 0.8);-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 8px rgba(82, 168, 236, 0.6);-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 8px rgba(82, 168, 236, 0.6);box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 8px rgba(82, 168, 236, 0.6);outline:0;outline:thin dotted \9;}
+input[type="file"]:focus,input[type="checkbox"]:focus,select:focus{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px;}
+.input-mini{width:60px;}
+.input-small{width:90px;}
+.input-medium{width:150px;}
+.input-large{width:210px;}
+.input-xlarge{width:270px;}
+.input-xxlarge{width:530px;}
+input[class*="span"],select[class*="span"],textarea[class*="span"],.uneditable-input{float:none;margin-left:0;}
+input.span1,textarea.span1,.uneditable-input.span1{width:50px;}
+input.span2,textarea.span2,.uneditable-input.span2{width:130px;}
+input.span3,textarea.span3,.uneditable-input.span3{width:210px;}
+input.span4,textarea.span4,.uneditable-input.span4{width:290px;}
+input.span5,textarea.span5,.uneditable-input.span5{width:370px;}
+input.span6,textarea.span6,.uneditable-input.span6{width:450px;}
+input.span7,textarea.span7,.uneditable-input.span7{width:530px;}
+input.span8,textarea.span8,.uneditable-input.span8{width:610px;}
+input.span9,textarea.span9,.uneditable-input.span9{width:690px;}
+input.span10,textarea.span10,.uneditable-input.span10{width:770px;}
+input.span11,textarea.span11,.uneditable-input.span11{width:850px;}
+input.span12,textarea.span12,.uneditable-input.span12{width:930px;}
+input[disabled],select[disabled],textarea[disabled],input[readonly],select[readonly],textarea[readonly]{background-color:#f5f5f5;border-color:#ddd;cursor:not-allowed;}
+.control-group.warning>label,.control-group.warning .help-block,.control-group.warning .help-inline{color:#c09853;}
+.control-group.warning input,.control-group.warning select,.control-group.warning textarea{color:#c09853;border-color:#c09853;}.control-group.warning input:focus,.control-group.warning select:focus,.control-group.warning textarea:focus{border-color:#a47e3c;-webkit-box-shadow:0 0 6px #dbc59e;-moz-box-shadow:0 0 6px #dbc59e;box-shadow:0 0 6px #dbc59e;}
+.control-group.warning .input-prepend .add-on,.control-group.warning .input-append .add-on{color:#c09853;background-color:#fcf8e3;border-color:#c09853;}
+.control-group.error>label,.control-group.error .help-block,.control-group.error .help-inline{color:#b94a48;}
+.control-group.error input,.control-group.error select,.control-group.error textarea{color:#b94a48;border-color:#b94a48;}.control-group.error input:focus,.control-group.error select:focus,.control-group.error textarea:focus{border-color:#953b39;-webkit-box-shadow:0 0 6px #d59392;-moz-box-shadow:0 0 6px #d59392;box-shadow:0 0 6px #d59392;}
+.control-group.error .input-prepend .add-on,.control-group.error .input-append .add-on{color:#b94a48;background-color:#f2dede;border-color:#b94a48;}
+.control-group.success>label,.control-group.success .help-block,.control-group.success .help-inline{color:#468847;}
+.control-group.success input,.control-group.success select,.control-group.success textarea{color:#468847;border-color:#468847;}.control-group.success input:focus,.control-group.success select:focus,.control-group.success textarea:focus{border-color:#356635;-webkit-box-shadow:0 0 6px #7aba7b;-moz-box-shadow:0 0 6px #7aba7b;box-shadow:0 0 6px #7aba7b;}
+.control-group.success .input-prepend .add-on,.control-group.success .input-append .add-on{color:#468847;background-color:#dff0d8;border-color:#468847;}
+input:focus:required:invalid,textarea:focus:required:invalid,select:focus:required:invalid{color:#b94a48;border-color:#ee5f5b;}input:focus:required:invalid:focus,textarea:focus:required:invalid:focus,select:focus:required:invalid:focus{border-color:#e9322d;-webkit-box-shadow:0 0 6px #f8b9b7;-moz-box-shadow:0 0 6px #f8b9b7;box-shadow:0 0 6px #f8b9b7;}
+.form-actions{padding:17px 20px 18px;margin-top:18px;margin-bottom:18px;background-color:#f5f5f5;border-top:1px solid #ddd;}
+.uneditable-input{display:block;background-color:#ffffff;border-color:#eee;-webkit-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.025);-moz-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.025);box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.025);cursor:not-allowed;}
+:-moz-placeholder{color:#999999;}
+::-webkit-input-placeholder{color:#999999;}
+.help-block{margin-top:5px;margin-bottom:0;color:#999999;}
+.help-inline{display:inline-block;*display:inline;*zoom:1;margin-bottom:9px;vertical-align:middle;padding-left:5px;}
+.input-prepend,.input-append{margin-bottom:5px;*zoom:1;}.input-prepend:before,.input-append:before,.input-prepend:after,.input-append:after{display:table;content:"";}
+.input-prepend:after,.input-append:after{clear:both;}
+.input-prepend input,.input-append input,.input-prepend .uneditable-input,.input-append .uneditable-input{-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0;}.input-prepend input:focus,.input-append input:focus,.input-prepend .uneditable-input:focus,.input-append .uneditable-input:focus{position:relative;z-index:2;}
+.input-prepend .uneditable-input,.input-append .uneditable-input{border-left-color:#ccc;}
+.input-prepend .add-on,.input-append .add-on{float:left;display:block;width:auto;min-width:16px;height:18px;margin-right:-1px;padding:4px 5px;font-weight:normal;line-height:18px;color:#999999;text-align:center;text-shadow:0 1px 0 #ffffff;background-color:#f5f5f5;border:1px solid #ccc;-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px;}
+.input-prepend .active,.input-append .active{background-color:#a9dba9;border-color:#46a546;}
+.input-prepend .add-on{*margin-top:1px;}
+.input-append input,.input-append .uneditable-input{float:left;-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px;}
+.input-append .uneditable-input{border-right-color:#ccc;}
+.input-append .add-on{margin-right:0;margin-left:-1px;-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0;}
+.input-append input:first-child{*margin-left:-160px;}.input-append input:first-child+.add-on{*margin-left:-21px;}
+.search-query{padding-left:14px;padding-right:14px;margin-bottom:0;-webkit-border-radius:14px;-moz-border-radius:14px;border-radius:14px;}
+.form-search input,.form-inline input,.form-horizontal input,.form-search textarea,.form-inline textarea,.form-horizontal textarea,.form-search select,.form-inline select,.form-horizontal select,.form-search .help-inline,.form-inline .help-inline,.form-horizontal .help-inline,.form-search .uneditable-input,.form-inline .uneditable-input,.form-horizontal .uneditable-input{display:inline-block;margin-bottom:0;}
+.form-search label,.form-inline label,.form-search .input-append,.form-inline .input-append,.form-search .input-prepend,.form-inline .input-prepend{display:inline-block;}
+.form-search .input-append .add-on,.form-inline .input-prepend .add-on,.form-search .input-append .add-on,.form-inline .input-prepend .add-on{vertical-align:middle;}
+.control-group{margin-bottom:9px;}
+.form-horizontal legend+.control-group{margin-top:18px;-webkit-margin-top-collapse:separate;}
+.form-horizontal .control-group{margin-bottom:18px;*zoom:1;}.form-horizontal .control-group:before,.form-horizontal .control-group:after{display:table;content:"";}
+.form-horizontal .control-group:after{clear:both;}
+.form-horizontal .control-group>label{float:left;width:140px;padding-top:5px;text-align:right;}
+.form-horizontal .controls{margin-left:160px;}
+.form-horizontal .form-actions{padding-left:160px;}
+table{max-width:100%;border-collapse:collapse;border-spacing:0;}
+.table{width:100%;margin-bottom:18px;}.table th,.table td{padding:8px;line-height:18px;text-align:left;border-top:1px solid #ddd;}
+.table th{font-weight:bold;vertical-align:bottom;}
+.table td{vertical-align:top;}
+.table thead:first-child tr th,.table thead:first-child tr td{border-top:0;}
+.table tbody+tbody{border-top:2px solid #ddd;}
+.table-condensed th,.table-condensed td{padding:4px 5px;}
+.table-bordered{border:1px solid #ddd;border-collapse:separate;*border-collapse:collapsed;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}.table-bordered th+th,.table-bordered td+td,.table-bordered th+td,.table-bordered td+th{border-left:1px solid #ddd;}
+.table-bordered thead:first-child tr:first-child th,.table-bordered tbody:first-child tr:first-child th,.table-bordered tbody:first-child tr:first-child td{border-top:0;}
+.table-bordered thead:first-child tr:first-child th:first-child,.table-bordered tbody:first-child tr:first-child td:first-child{-webkit-border-radius:4px 0 0 0;-moz-border-radius:4px 0 0 0;border-radius:4px 0 0 0;}
+.table-bordered thead:first-child tr:first-child th:last-child,.table-bordered tbody:first-child tr:first-child td:last-child{-webkit-border-radius:0 4px 0 0;-moz-border-radius:0 4px 0 0;border-radius:0 4px 0 0;}
+.table-bordered thead:last-child tr:last-child th:first-child,.table-bordered tbody:last-child tr:last-child td:first-child{-webkit-border-radius:0 0 0 4px;-moz-border-radius:0 0 0 4px;border-radius:0 0 0 4px;}
+.table-bordered thead:last-child tr:last-child th:last-child,.table-bordered tbody:last-child tr:last-child td:last-child{-webkit-border-radius:0 0 4px 0;-moz-border-radius:0 0 4px 0;border-radius:0 0 4px 0;}
+.table-striped tbody tr:nth-child(odd) td,.table-striped tbody tr:nth-child(odd) th{background-color:#f9f9f9;}
+table .span1{float:none;width:44px;margin-left:0;}
+table .span2{float:none;width:124px;margin-left:0;}
+table .span3{float:none;width:204px;margin-left:0;}
+table .span4{float:none;width:284px;margin-left:0;}
+table .span5{float:none;width:364px;margin-left:0;}
+table .span6{float:none;width:444px;margin-left:0;}
+table .span7{float:none;width:524px;margin-left:0;}
+table .span8{float:none;width:604px;margin-left:0;}
+table .span9{float:none;width:684px;margin-left:0;}
+table .span10{float:none;width:764px;margin-left:0;}
+table .span11{float:none;width:844px;margin-left:0;}
+table .span12{float:none;width:924px;margin-left:0;}
+[class^="icon-"]{display:inline-block;width:14px;height:14px;vertical-align:text-top;background-image:url(../img/glyphicons-halflings.png);background-position:14px 14px;background-repeat:no-repeat;*margin-right:.3em;}[class^="icon-"]:last-child{*margin-left:0;}
+.icon-white{background-image:url(../img/glyphicons-halflings-white.png);}
+.icon-glass{background-position:0 0;}
+.icon-music{background-position:-24px 0;}
+.icon-search{background-position:-48px 0;}
+.icon-envelope{background-position:-72px 0;}
+.icon-heart{background-position:-96px 0;}
+.icon-star{background-position:-120px 0;}
+.icon-star-empty{background-position:-144px 0;}
+.icon-user{background-position:-168px 0;}
+.icon-film{background-position:-192px 0;}
+.icon-th-large{background-position:-216px 0;}
+.icon-th{background-position:-240px 0;}
+.icon-th-list{background-position:-264px 0;}
+.icon-ok{background-position:-288px 0;}
+.icon-remove{background-position:-312px 0;}
+.icon-zoom-in{background-position:-336px 0;}
+.icon-zoom-out{background-position:-360px 0;}
+.icon-off{background-position:-384px 0;}
+.icon-signal{background-position:-408px 0;}
+.icon-cog{background-position:-432px 0;}
+.icon-trash{background-position:-456px 0;}
+.icon-home{background-position:0 -24px;}
+.icon-file{background-position:-24px -24px;}
+.icon-time{background-position:-48px -24px;}
+.icon-road{background-position:-72px -24px;}
+.icon-download-alt{background-position:-96px -24px;}
+.icon-download{background-position:-120px -24px;}
+.icon-upload{background-position:-144px -24px;}
+.icon-inbox{background-position:-168px -24px;}
+.icon-play-circle{background-position:-192px -24px;}
+.icon-repeat{background-position:-216px -24px;}
+.icon-refresh{background-position:-240px -24px;}
+.icon-list-alt{background-position:-264px -24px;}
+.icon-lock{background-position:-287px -24px;}
+.icon-flag{background-position:-312px -24px;}
+.icon-headphones{background-position:-336px -24px;}
+.icon-volume-off{background-position:-360px -24px;}
+.icon-volume-down{background-position:-384px -24px;}
+.icon-volume-up{background-position:-408px -24px;}
+.icon-qrcode{background-position:-432px -24px;}
+.icon-barcode{background-position:-456px -24px;}
+.icon-tag{background-position:0 -48px;}
+.icon-tags{background-position:-25px -48px;}
+.icon-book{background-position:-48px -48px;}
+.icon-bookmark{background-position:-72px -48px;}
+.icon-print{background-position:-96px -48px;}
+.icon-camera{background-position:-120px -48px;}
+.icon-font{background-position:-144px -48px;}
+.icon-bold{background-position:-167px -48px;}
+.icon-italic{background-position:-192px -48px;}
+.icon-text-height{background-position:-216px -48px;}
+.icon-text-width{background-position:-240px -48px;}
+.icon-align-left{background-position:-264px -48px;}
+.icon-align-center{background-position:-288px -48px;}
+.icon-align-right{background-position:-312px -48px;}
+.icon-align-justify{background-position:-336px -48px;}
+.icon-list{background-position:-360px -48px;}
+.icon-indent-left{background-position:-384px -48px;}
+.icon-indent-right{background-position:-408px -48px;}
+.icon-facetime-video{background-position:-432px -48px;}
+.icon-picture{background-position:-456px -48px;}
+.icon-pencil{background-position:0 -72px;}
+.icon-map-marker{background-position:-24px -72px;}
+.icon-adjust{background-position:-48px -72px;}
+.icon-tint{background-position:-72px -72px;}
+.icon-edit{background-position:-96px -72px;}
+.icon-share{background-position:-120px -72px;}
+.icon-check{background-position:-144px -72px;}
+.icon-move{background-position:-168px -72px;}
+.icon-step-backward{background-position:-192px -72px;}
+.icon-fast-backward{background-position:-216px -72px;}
+.icon-backward{background-position:-240px -72px;}
+.icon-play{background-position:-264px -72px;}
+.icon-pause{background-position:-288px -72px;}
+.icon-stop{background-position:-312px -72px;}
+.icon-forward{background-position:-336px -72px;}
+.icon-fast-forward{background-position:-360px -72px;}
+.icon-step-forward{background-position:-384px -72px;}
+.icon-eject{background-position:-408px -72px;}
+.icon-chevron-left{background-position:-432px -72px;}
+.icon-chevron-right{background-position:-456px -72px;}
+.icon-plus-sign{background-position:0 -96px;}
+.icon-minus-sign{background-position:-24px -96px;}
+.icon-remove-sign{background-position:-48px -96px;}
+.icon-ok-sign{background-position:-72px -96px;}
+.icon-question-sign{background-position:-96px -96px;}
+.icon-info-sign{background-position:-120px -96px;}
+.icon-screenshot{background-position:-144px -96px;}
+.icon-remove-circle{background-position:-168px -96px;}
+.icon-ok-circle{background-position:-192px -96px;}
+.icon-ban-circle{background-position:-216px -96px;}
+.icon-arrow-left{background-position:-240px -96px;}
+.icon-arrow-right{background-position:-264px -96px;}
+.icon-arrow-up{background-position:-289px -96px;}
+.icon-arrow-down{background-position:-312px -96px;}
+.icon-share-alt{background-position:-336px -96px;}
+.icon-resize-full{background-position:-360px -96px;}
+.icon-resize-small{background-position:-384px -96px;}
+.icon-plus{background-position:-408px -96px;}
+.icon-minus{background-position:-433px -96px;}
+.icon-asterisk{background-position:-456px -96px;}
+.icon-exclamation-sign{background-position:0 -120px;}
+.icon-gift{background-position:-24px -120px;}
+.icon-leaf{background-position:-48px -120px;}
+.icon-fire{background-position:-72px -120px;}
+.icon-eye-open{background-position:-96px -120px;}
+.icon-eye-close{background-position:-120px -120px;}
+.icon-warning-sign{background-position:-144px -120px;}
+.icon-plane{background-position:-168px -120px;}
+.icon-calendar{background-position:-192px -120px;}
+.icon-random{background-position:-216px -120px;}
+.icon-comment{background-position:-240px -120px;}
+.icon-magnet{background-position:-264px -120px;}
+.icon-chevron-up{background-position:-288px -120px;}
+.icon-chevron-down{background-position:-313px -119px;}
+.icon-retweet{background-position:-336px -120px;}
+.icon-shopping-cart{background-position:-360px -120px;}
+.icon-folder-close{background-position:-384px -120px;}
+.icon-folder-open{background-position:-408px -120px;}
+.icon-resize-vertical{background-position:-432px -119px;}
+.icon-resize-horizontal{background-position:-456px -118px;}
+.dropdown{position:relative;}
+.dropdown-toggle{*margin-bottom:-3px;}
+.dropdown-toggle:active,.open .dropdown-toggle{outline:0;}
+.caret{display:inline-block;width:0;height:0;text-indent:-99999px;*text-indent:0;vertical-align:top;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #000000;opacity:0.3;filter:alpha(opacity=30);content:"\2193";}
+.dropdown .caret{margin-top:8px;margin-left:2px;}
+.dropdown:hover .caret,.open.dropdown .caret{opacity:1;filter:alpha(opacity=100);}
+.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;float:left;display:none;min-width:160px;max-width:220px;_width:160px;padding:4px 0;margin:0;list-style:none;background-color:#ffffff;border-color:#ccc;border-color:rgba(0, 0, 0, 0.2);border-style:solid;border-width:1px;-webkit-border-radius:0 0 5px 5px;-moz-border-radius:0 0 5px 5px;border-radius:0 0 5px 5px;-webkit-box-shadow:0 5px 10px rgba(0, 0, 0, 0.2);-moz-box-shadow:0 5px 10px rgba(0, 0, 0, 0.2);box-shadow:0 5px 10px rgba(0, 0, 0, 0.2);-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;*border-right-width:2px;*border-bottom-width:2px;}.dropdown-menu.bottom-up{top:auto;bottom:100%;margin-bottom:2px;}
+.dropdown-menu .divider{height:1px;margin:5px 1px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid #ffffff;*width:100%;*margin:-5px 0 5px;}
+.dropdown-menu a{display:block;padding:3px 15px;clear:both;font-weight:normal;line-height:18px;color:#555555;white-space:nowrap;}
+.dropdown-menu li>a:hover,.dropdown-menu .active>a,.dropdown-menu .active>a:hover{color:#ffffff;text-decoration:none;background-color:#0088cc;}
+.dropdown.open{*z-index:1000;}.dropdown.open .dropdown-toggle{color:#ffffff;background:#ccc;background:rgba(0, 0, 0, 0.3);}
+.dropdown.open .dropdown-menu{display:block;}
+.typeahead{margin-top:2px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
+.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #eee;border:1px solid rgba(0, 0, 0, 0.05);-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.05);-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.05);box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.05);}.well blockquote{border-color:#ddd;border-color:rgba(0, 0, 0, 0.15);}
+.fade{-webkit-transition:opacity 0.15s linear;-moz-transition:opacity 0.15s linear;-ms-transition:opacity 0.15s linear;-o-transition:opacity 0.15s linear;transition:opacity 0.15s linear;opacity:0;}.fade.in{opacity:1;}
+.collapse{-webkit-transition:height 0.35s ease;-moz-transition:height 0.35s ease;-ms-transition:height 0.35s ease;-o-transition:height 0.35s ease;transition:height 0.35s ease;position:relative;overflow:hidden;height:0;}.collapse.in{height:auto;}
+.close{float:right;font-size:20px;font-weight:bold;line-height:18px;color:#000000;text-shadow:0 1px 0 #ffffff;opacity:0.2;filter:alpha(opacity=20);}.close:hover{color:#000000;text-decoration:none;opacity:0.4;filter:alpha(opacity=40);cursor:pointer;}
+.btn{display:inline-block;padding:4px 10px 4px;font-size:13px;line-height:18px;color:#333333;text-align:center;text-shadow:0 1px 1px rgba(255, 255, 255, 0.75);background-color:#fafafa;background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), color-stop(25%, #ffffff), to(#e6e6e6));background-image:-webkit-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:-moz-linear-gradient(top, #ffffff, #ffffff 25%, #e6e6e6);background-image:-ms-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:-o-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-repeat:no-repeat;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#e6e6e6', GradientType=0);border:1px solid #ccc;border-bottom-color:#bbb;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.2),0 1px 2px rgba(0, 0, 0, 0.05);-moz-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.2),0 1px 2px rgba(0, 0, 0, 0.05);box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.2),0 1px 2px rgba(0, 0, 0, 0.05);cursor:pointer;*margin-left:.3em;}.btn:first-child{*margin-left:0;}
+.btn:hover{color:#333333;text-decoration:none;background-color:#e6e6e6;background-position:0 -15px;-webkit-transition:background-position 0.1s linear;-moz-transition:background-position 0.1s linear;-ms-transition:background-position 0.1s linear;-o-transition:background-position 0.1s linear;transition:background-position 0.1s linear;}
+.btn:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px;}
+.btn.active,.btn:active{background-image:none;-webkit-box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.15),0 1px 2px rgba(0, 0, 0, 0.05);-moz-box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.15),0 1px 2px rgba(0, 0, 0, 0.05);box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.15),0 1px 2px rgba(0, 0, 0, 0.05);background-color:#e6e6e6;background-color:#d9d9d9 \9;color:rgba(0, 0, 0, 0.5);outline:0;}
+.btn.disabled,.btn[disabled]{cursor:default;background-image:none;background-color:#e6e6e6;opacity:0.65;filter:alpha(opacity=65);-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;}
+.btn-large{padding:9px 14px;font-size:15px;line-height:normal;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;}
+.btn-large .icon{margin-top:1px;}
+.btn-small{padding:5px 9px;font-size:11px;line-height:16px;}
+.btn-small .icon{margin-top:-1px;}
+.btn-primary,.btn-primary:hover,.btn-warning,.btn-warning:hover,.btn-danger,.btn-danger:hover,.btn-success,.btn-success:hover,.btn-info,.btn-info:hover{text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);color:#ffffff;}
+.btn-primary.active,.btn-warning.active,.btn-danger.active,.btn-success.active,.btn-info.active{color:rgba(255, 255, 255, 0.75);}
+.btn-primary{background-color:#006dcc;background-image:-moz-linear-gradient(top, #0088cc, #0044cc);background-image:-ms-linear-gradient(top, #0088cc, #0044cc);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc));background-image:-webkit-linear-gradient(top, #0088cc, #0044cc);background-image:-o-linear-gradient(top, #0088cc, #0044cc);background-image:linear-gradient(top, #0088cc, #0044cc);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc', endColorstr='#0044cc', GradientType=0);border-color:#0044cc #0044cc #002a80;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);}.btn-primary:hover,.btn-primary:active,.btn-primary.active,.btn-primary.disabled,.btn-primary[disabled]{background-color:#0044cc;}
+.btn-primary:active,.btn-primary.active{background-color:#003399 \9;}
+.btn-warning{background-color:#faa732;background-image:-moz-linear-gradient(top, #fbb450, #f89406);background-image:-ms-linear-gradient(top, #fbb450, #f89406);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406));background-image:-webkit-linear-gradient(top, #fbb450, #f89406);background-image:-o-linear-gradient(top, #fbb450, #f89406);background-image:linear-gradient(top, #fbb450, #f89406);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fbb450', endColorstr='#f89406', GradientType=0);border-color:#f89406 #f89406 #ad6704;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);}.btn-warning:hover,.btn-warning:active,.btn-warning.active,.btn-warning.disabled,.btn-warning[disabled]{background-color:#f89406;}
+.btn-warning:active,.btn-warning.active{background-color:#c67605 \9;}
+.btn-danger{background-color:#da4f49;background-image:-moz-linear-gradient(top, #ee5f5b, #bd362f);background-image:-ms-linear-gradient(top, #ee5f5b, #bd362f);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#bd362f));background-image:-webkit-linear-gradient(top, #ee5f5b, #bd362f);background-image:-o-linear-gradient(top, #ee5f5b, #bd362f);background-image:linear-gradient(top, #ee5f5b, #bd362f);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ee5f5b', endColorstr='#bd362f', GradientType=0);border-color:#bd362f #bd362f #802420;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);}.btn-danger:hover,.btn-danger:active,.btn-danger.active,.btn-danger.disabled,.btn-danger[disabled]{background-color:#bd362f;}
+.btn-danger:active,.btn-danger.active{background-color:#942a25 \9;}
+.btn-success{background-color:#5bb75b;background-image:-moz-linear-gradient(top, #62c462, #51a351);background-image:-ms-linear-gradient(top, #62c462, #51a351);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#51a351));background-image:-webkit-linear-gradient(top, #62c462, #51a351);background-image:-o-linear-gradient(top, #62c462, #51a351);background-image:linear-gradient(top, #62c462, #51a351);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#62c462', endColorstr='#51a351', GradientType=0);border-color:#51a351 #51a351 #387038;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);}.btn-success:hover,.btn-success:active,.btn-success.active,.btn-success.disabled,.btn-success[disabled]{background-color:#51a351;}
+.btn-success:active,.btn-success.active{background-color:#408140 \9;}
+.btn-info{background-color:#49afcd;background-image:-moz-linear-gradient(top, #5bc0de, #2f96b4);background-image:-ms-linear-gradient(top, #5bc0de, #2f96b4);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#2f96b4));background-image:-webkit-linear-gradient(top, #5bc0de, #2f96b4);background-image:-o-linear-gradient(top, #5bc0de, #2f96b4);background-image:linear-gradient(top, #5bc0de, #2f96b4);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#5bc0de', endColorstr='#2f96b4', GradientType=0);border-color:#2f96b4 #2f96b4 #1f6377;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);}.btn-info:hover,.btn-info:active,.btn-info.active,.btn-info.disabled,.btn-info[disabled]{background-color:#2f96b4;}
+.btn-info:active,.btn-info.active{background-color:#24748c \9;}
+button.btn,input[type="submit"].btn{*padding-top:2px;*padding-bottom:2px;}button.btn::-moz-focus-inner,input[type="submit"].btn::-moz-focus-inner{padding:0;border:0;}
+button.btn.large,input[type="submit"].btn.large{*padding-top:7px;*padding-bottom:7px;}
+button.btn.small,input[type="submit"].btn.small{*padding-top:3px;*padding-bottom:3px;}
+.btn-group{position:relative;*zoom:1;*margin-left:.3em;}.btn-group:before,.btn-group:after{display:table;content:"";}
+.btn-group:after{clear:both;}
+.btn-group:first-child{*margin-left:0;}
+.btn-group+.btn-group{margin-left:5px;}
+.btn-toolbar{margin-top:9px;margin-bottom:9px;}.btn-toolbar .btn-group{display:inline-block;*display:inline;*zoom:1;}
+.btn-group .btn{position:relative;float:left;margin-left:-1px;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;}
+.btn-group .btn:first-child{margin-left:0;-webkit-border-top-left-radius:4px;-moz-border-radius-topleft:4px;border-top-left-radius:4px;-webkit-border-bottom-left-radius:4px;-moz-border-radius-bottomleft:4px;border-bottom-left-radius:4px;}
+.btn-group .btn:last-child,.btn-group .dropdown-toggle{-webkit-border-top-right-radius:4px;-moz-border-radius-topright:4px;border-top-right-radius:4px;-webkit-border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px;border-bottom-right-radius:4px;}
+.btn-group .btn.large:first-child{margin-left:0;-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;border-top-left-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px;}
+.btn-group .btn.large:last-child,.btn-group .large.dropdown-toggle{-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;}
+.btn-group .btn:hover,.btn-group .btn:focus,.btn-group .btn:active,.btn-group .btn.active{z-index:2;}
+.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0;}
+.btn-group .dropdown-toggle{padding-left:8px;padding-right:8px;-webkit-box-shadow:inset 1px 0 0 rgba(255, 255, 255, 0.125),inset 0 1px 0 rgba(255, 255, 255, 0.2),0 1px 2px rgba(0, 0, 0, 0.05);-moz-box-shadow:inset 1px 0 0 rgba(255, 255, 255, 0.125),inset 0 1px 0 rgba(255, 255, 255, 0.2),0 1px 2px rgba(0, 0, 0, 0.05);box-shadow:inset 1px 0 0 rgba(255, 255, 255, 0.125),inset 0 1px 0 rgba(255, 255, 255, 0.2),0 1px 2px rgba(0, 0, 0, 0.05);*padding-top:5px;*padding-bottom:5px;}
+.btn-group.open{*z-index:1000;}.btn-group.open .dropdown-menu{display:block;margin-top:1px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;}
+.btn-group.open .dropdown-toggle{background-image:none;-webkit-box-shadow:inset 0 1px 6px rgba(0, 0, 0, 0.15),0 1px 2px rgba(0, 0, 0, 0.05);-moz-box-shadow:inset 0 1px 6px rgba(0, 0, 0, 0.15),0 1px 2px rgba(0, 0, 0, 0.05);box-shadow:inset 0 1px 6px rgba(0, 0, 0, 0.15),0 1px 2px rgba(0, 0, 0, 0.05);}
+.btn .caret{margin-top:7px;margin-left:0;}
+.btn:hover .caret,.open.btn-group .caret{opacity:1;filter:alpha(opacity=100);}
+.btn-primary .caret,.btn-danger .caret,.btn-info .caret,.btn-success .caret{border-top-color:#ffffff;opacity:0.75;filter:alpha(opacity=75);}
+.btn-small .caret{margin-top:4px;}
+.alert{padding:8px 35px 8px 14px;margin-bottom:18px;text-shadow:0 1px 0 rgba(255, 255, 255, 0.5);background-color:#fcf8e3;border:1px solid #fbeed5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
+.alert,.alert-heading{color:#c09853;}
+.alert .close{position:relative;top:-2px;right:-21px;line-height:18px;}
+.alert-success{background-color:#dff0d8;border-color:#d6e9c6;}
+.alert-success,.alert-success .alert-heading{color:#468847;}
+.alert-danger,.alert-error{background-color:#f2dede;border-color:#eed3d7;}
+.alert-danger,.alert-error,.alert-danger .alert-heading,.alert-error .alert-heading{color:#b94a48;}
+.alert-info{background-color:#d9edf7;border-color:#bce8f1;}
+.alert-info,.alert-info .alert-heading{color:#3a87ad;}
+.alert-block{padding-top:14px;padding-bottom:14px;}
+.alert-block>p,.alert-block>ul{margin-bottom:0;}
+.alert-block p+p{margin-top:5px;}
+.nav{margin-left:0;margin-bottom:18px;list-style:none;}
+.nav>li>a{display:block;}
+.nav>li>a:hover{text-decoration:none;background-color:#eeeeee;}
+.nav-list{padding-left:14px;padding-right:14px;margin-bottom:0;}
+.nav-list>li>a,.nav-list .nav-header{display:block;padding:3px 15px;margin-left:-15px;margin-right:-15px;text-shadow:0 1px 0 rgba(255, 255, 255, 0.5);}
+.nav-list .nav-header{font-size:11px;font-weight:bold;line-height:18px;color:#999999;text-transform:uppercase;}
+.nav-list>li+.nav-header{margin-top:9px;}
+.nav-list .active>a,.nav-list .active>a:hover{color:#ffffff;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.2);background-color:#0088cc;}
+.nav-list [class^="icon-"]{margin-right:2px;}
+.nav-tabs,.nav-pills{*zoom:1;}.nav-tabs:before,.nav-pills:before,.nav-tabs:after,.nav-pills:after{display:table;content:"";}
+.nav-tabs:after,.nav-pills:after{clear:both;}
+.nav-tabs>li,.nav-pills>li{float:left;}
+.nav-tabs>li>a,.nav-pills>li>a{padding-right:12px;padding-left:12px;margin-right:2px;line-height:14px;}
+.nav-tabs{border-bottom:1px solid #ddd;}
+.nav-tabs>li{margin-bottom:-1px;}
+.nav-tabs>li>a{padding-top:9px;padding-bottom:9px;border:1px solid transparent;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0;}.nav-tabs>li>a:hover{border-color:#eeeeee #eeeeee #dddddd;}
+.nav-tabs>.active>a,.nav-tabs>.active>a:hover{color:#555555;background-color:#ffffff;border:1px solid #ddd;border-bottom-color:transparent;cursor:default;}
+.nav-pills>li>a{padding-top:8px;padding-bottom:8px;margin-top:2px;margin-bottom:2px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;}
+.nav-pills .active>a,.nav-pills .active>a:hover{color:#ffffff;background-color:#0088cc;}
+.nav-stacked>li{float:none;}
+.nav-stacked>li>a{margin-right:0;}
+.nav-tabs.nav-stacked{border-bottom:0;}
+.nav-tabs.nav-stacked>li>a{border:1px solid #ddd;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;}
+.nav-tabs.nav-stacked>li:first-child>a{-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0;}
+.nav-tabs.nav-stacked>li:last-child>a{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px;}
+.nav-tabs.nav-stacked>li>a:hover{border-color:#ddd;z-index:2;}
+.nav-pills.nav-stacked>li>a{margin-bottom:3px;}
+.nav-pills.nav-stacked>li:last-child>a{margin-bottom:1px;}
+.nav-tabs .dropdown-menu,.nav-pills .dropdown-menu{margin-top:1px;border-width:1px;}
+.nav-pills .dropdown-menu{-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
+.nav-tabs .dropdown-toggle .caret,.nav-pills .dropdown-toggle .caret{border-top-color:#0088cc;margin-top:6px;}
+.nav-tabs .dropdown-toggle:hover .caret,.nav-pills .dropdown-toggle:hover .caret{border-top-color:#005580;}
+.nav-tabs .active .dropdown-toggle .caret,.nav-pills .active .dropdown-toggle .caret{border-top-color:#333333;}
+.nav>.dropdown.active>a:hover{color:#000000;cursor:pointer;}
+.nav-tabs .open .dropdown-toggle,.nav-pills .open .dropdown-toggle,.nav>.open.active>a:hover{color:#ffffff;background-color:#999999;border-color:#999999;}
+.nav .open .caret,.nav .open.active .caret,.nav .open a:hover .caret{border-top-color:#ffffff;opacity:1;filter:alpha(opacity=100);}
+.tabs-stacked .open>a:hover{border-color:#999999;}
+.tabbable{*zoom:1;}.tabbable:before,.tabbable:after{display:table;content:"";}
+.tabbable:after{clear:both;}
+.tabs-below .nav-tabs,.tabs-right .nav-tabs,.tabs-left .nav-tabs{border-bottom:0;}
+.tab-content>.tab-pane,.pill-content>.pill-pane{display:none;}
+.tab-content>.active,.pill-content>.active{display:block;}
+.tabs-below .nav-tabs{border-top:1px solid #ddd;}
+.tabs-below .nav-tabs>li{margin-top:-1px;margin-bottom:0;}
+.tabs-below .nav-tabs>li>a{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px;}.tabs-below .nav-tabs>li>a:hover{border-bottom-color:transparent;border-top-color:#ddd;}
+.tabs-below .nav-tabs .active>a,.tabs-below .nav-tabs .active>a:hover{border-color:transparent #ddd #ddd #ddd;}
+.tabs-left .nav-tabs>li,.tabs-right .nav-tabs>li{float:none;}
+.tabs-left .nav-tabs>li>a,.tabs-right .nav-tabs>li>a{min-width:74px;margin-right:0;margin-bottom:3px;}
+.tabs-left .nav-tabs{float:left;margin-right:19px;border-right:1px solid #ddd;}
+.tabs-left .nav-tabs>li>a{margin-right:-1px;-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px;}
+.tabs-left .nav-tabs>li>a:hover{border-color:#eeeeee #dddddd #eeeeee #eeeeee;}
+.tabs-left .nav-tabs .active>a,.tabs-left .nav-tabs .active>a:hover{border-color:#ddd transparent #ddd #ddd;*border-right-color:#ffffff;}
+.tabs-right .nav-tabs{float:right;margin-left:19px;border-left:1px solid #ddd;}
+.tabs-right .nav-tabs>li>a{margin-left:-1px;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0;}
+.tabs-right .nav-tabs>li>a:hover{border-color:#eeeeee #eeeeee #eeeeee #dddddd;}
+.tabs-right .nav-tabs .active>a,.tabs-right .nav-tabs .active>a:hover{border-color:#ddd #ddd #ddd transparent;*border-left-color:#ffffff;}
+.navbar{overflow:visible;margin-bottom:18px;}
+.navbar-inner{padding-left:20px;padding-right:20px;background-color:#2c2c2c;background-image:-moz-linear-gradient(top, #333333, #222222);background-image:-ms-linear-gradient(top, #333333, #222222);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#333333), to(#222222));background-image:-webkit-linear-gradient(top, #333333, #222222);background-image:-o-linear-gradient(top, #333333, #222222);background-image:linear-gradient(top, #333333, #222222);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#333333', endColorstr='#222222', GradientType=0);-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:0 1px 3px rgba(0, 0, 0, 0.25),inset 0 -1px 0 rgba(0, 0, 0, 0.1);-moz-box-shadow:0 1px 3px rgba(0, 0, 0, 0.25),inset 0 -1px 0 rgba(0, 0, 0, 0.1);box-shadow:0 1px 3px rgba(0, 0, 0, 0.25),inset 0 -1px 0 rgba(0, 0, 0, 0.1);}
+.btn-navbar{display:none;float:right;padding:7px 10px;margin-left:5px;margin-right:5px;background-color:#2c2c2c;background-image:-moz-linear-gradient(top, #333333, #222222);background-image:-ms-linear-gradient(top, #333333, #222222);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#333333), to(#222222));background-image:-webkit-linear-gradient(top, #333333, #222222);background-image:-o-linear-gradient(top, #333333, #222222);background-image:linear-gradient(top, #333333, #222222);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#333333', endColorstr='#222222', GradientType=0);border-color:#222222 #222222 #000000;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);-webkit-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.1),0 1px 0 rgba(255, 255, 255, 0.075);-moz-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.1),0 1px 0 rgba(255, 255, 255, 0.075);box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.1),0 1px 0 rgba(255, 255, 255, 0.075);}.btn-navbar:hover,.btn-navbar:active,.btn-navbar.active,.btn-navbar.disabled,.btn-navbar[disabled]{background-color:#222222;}
+.btn-navbar:active,.btn-navbar.active{background-color:#080808 \9;}
+.btn-navbar .icon-bar{display:block;width:18px;height:2px;background-color:#f5f5f5;-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px;-webkit-box-shadow:0 1px 0 rgba(0, 0, 0, 0.25);-moz-box-shadow:0 1px 0 rgba(0, 0, 0, 0.25);box-shadow:0 1px 0 rgba(0, 0, 0, 0.25);}
+.btn-navbar .icon-bar+.icon-bar{margin-top:3px;}
+.nav-collapse.collapse{height:auto;}
+.navbar .brand:hover{text-decoration:none;}
+.navbar .brand{float:left;display:block;padding:8px 20px 12px;margin-left:-20px;font-size:20px;font-weight:200;line-height:1;color:#ffffff;}
+.navbar .navbar-text{margin-bottom:0;line-height:40px;color:#999999;}.navbar .navbar-text a:hover{color:#ffffff;background-color:transparent;}
+.navbar .btn,.navbar .btn-group{margin-top:5px;}
+.navbar .btn-group .btn{margin-top:0;}
+.navbar-form{margin-bottom:0;*zoom:1;}.navbar-form:before,.navbar-form:after{display:table;content:"";}
+.navbar-form:after{clear:both;}
+.navbar-form input,.navbar-form select{display:inline-block;margin-top:5px;margin-bottom:0;}
+.navbar-form .radio,.navbar-form .checkbox{margin-top:5px;}
+.navbar-form input[type="image"],.navbar-form input[type="checkbox"],.navbar-form input[type="radio"]{margin-top:3px;}
+.navbar-search{position:relative;float:left;margin-top:6px;margin-bottom:0;}.navbar-search .search-query{padding:4px 9px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;font-weight:normal;line-height:1;color:#ffffff;color:rgba(255, 255, 255, 0.75);background:#666;background:rgba(255, 255, 255, 0.3);border:1px solid #111;-webkit-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1),0 1px 0px rgba(255, 255, 255, 0.15);-moz-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1),0 1px 0px rgba(255, 255, 255, 0.15);box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1),0 1px 0px rgba(255, 255, 255, 0.15);-webkit-transition:none;-moz-transition:none;-ms-transition:none;-o-transition:none;transition:none;}.navbar-search .search-query :-moz-placeholder{color:#eeeeee;}
+.navbar-search .search-query::-webkit-input-placeholder{color:#eeeeee;}
+.navbar-search .search-query:hover{color:#ffffff;background-color:#999999;background-color:rgba(255, 255, 255, 0.5);}
+.navbar-search .search-query:focus,.navbar-search .search-query.focused{padding:5px 10px;color:#333333;text-shadow:0 1px 0 #ffffff;background-color:#ffffff;border:0;-webkit-box-shadow:0 0 3px rgba(0, 0, 0, 0.15);-moz-box-shadow:0 0 3px rgba(0, 0, 0, 0.15);box-shadow:0 0 3px rgba(0, 0, 0, 0.15);outline:0;}
+.navbar-fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030;}
+.navbar-fixed-top .navbar-inner{padding-left:0;padding-right:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;}
+.navbar .nav{position:relative;left:0;display:block;float:left;margin:0 10px 0 0;}
+.navbar .nav.pull-right{float:right;}
+.navbar .nav>li{display:block;float:left;}
+.navbar .nav>li>a{float:none;padding:10px 10px 11px;line-height:19px;color:#999999;text-decoration:none;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);}
+.navbar .nav>li>a:hover{background-color:transparent;color:#ffffff;text-decoration:none;}
+.navbar .nav .active>a,.navbar .nav .active>a:hover{color:#ffffff;text-decoration:none;background-color:#222222;background-color:rgba(0, 0, 0, 0.5);}
+.navbar .divider-vertical{height:40px;width:1px;margin:0 9px;overflow:hidden;background-color:#222222;border-right:1px solid #333333;}
+.navbar .nav.pull-right{margin-left:10px;margin-right:0;}
+.navbar .dropdown-menu{margin-top:1px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}.navbar .dropdown-menu:before{content:'';display:inline-block;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid #ccc;border-bottom-color:rgba(0, 0, 0, 0.2);position:absolute;top:-7px;left:9px;}
+.navbar .dropdown-menu:after{content:'';display:inline-block;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #ffffff;position:absolute;top:-6px;left:10px;}
+.navbar .nav .dropdown-toggle .caret,.navbar .nav .open.dropdown .caret{border-top-color:#ffffff;}
+.navbar .nav .active .caret{opacity:1;filter:alpha(opacity=100);}
+.navbar .nav .open>.dropdown-toggle,.navbar .nav .active>.dropdown-toggle,.navbar .nav .open.active>.dropdown-toggle{background-color:transparent;}
+.navbar .nav .active>.dropdown-toggle:hover{color:#ffffff;}
+.navbar .nav.pull-right .dropdown-menu{left:auto;right:0;}.navbar .nav.pull-right .dropdown-menu:before{left:auto;right:12px;}
+.navbar .nav.pull-right .dropdown-menu:after{left:auto;right:13px;}
+.breadcrumb{padding:7px 14px;margin:0 0 18px;background-color:#fbfbfb;background-image:-moz-linear-gradient(top, #ffffff, #f5f5f5);background-image:-ms-linear-gradient(top, #ffffff, #f5f5f5);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#f5f5f5));background-image:-webkit-linear-gradient(top, #ffffff, #f5f5f5);background-image:-o-linear-gradient(top, #ffffff, #f5f5f5);background-image:linear-gradient(top, #ffffff, #f5f5f5);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#f5f5f5', GradientType=0);border:1px solid #ddd;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:inset 0 1px 0 #ffffff;-moz-box-shadow:inset 0 1px 0 #ffffff;box-shadow:inset 0 1px 0 #ffffff;}.breadcrumb li{display:inline;text-shadow:0 1px 0 #ffffff;}
+.breadcrumb .divider{padding:0 5px;color:#999999;}
+.breadcrumb .active a{color:#333333;}
+.pagination{height:36px;margin:18px 0;}
+.pagination ul{display:inline-block;*display:inline;*zoom:1;margin-left:0;margin-bottom:0;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 1px 2px rgba(0, 0, 0, 0.05);-moz-box-shadow:0 1px 2px rgba(0, 0, 0, 0.05);box-shadow:0 1px 2px rgba(0, 0, 0, 0.05);}
+.pagination li{display:inline;}
+.pagination a{float:left;padding:0 14px;line-height:34px;text-decoration:none;border:1px solid #ddd;border-left-width:0;}
+.pagination a:hover,.pagination .active a{background-color:#f5f5f5;}
+.pagination .active a{color:#999999;cursor:default;}
+.pagination .disabled a,.pagination .disabled a:hover{color:#999999;background-color:transparent;cursor:default;}
+.pagination li:first-child a{border-left-width:1px;-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px;}
+.pagination li:last-child a{-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0;}
+.pagination-centered{text-align:center;}
+.pagination-right{text-align:right;}
+.pager{margin-left:0;margin-bottom:18px;list-style:none;text-align:center;*zoom:1;}.pager:before,.pager:after{display:table;content:"";}
+.pager:after{clear:both;}
+.pager li{display:inline;}
+.pager a{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px;}
+.pager a:hover{text-decoration:none;background-color:#f5f5f5;}
+.pager .next a{float:right;}
+.pager .previous a{float:left;}
+.modal-open .dropdown-menu{z-index:2050;}
+.modal-open .dropdown.open{*z-index:2050;}
+.modal-open .popover{z-index:2060;}
+.modal-open .tooltip{z-index:2070;}
+.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000000;}.modal-backdrop.fade{opacity:0;}
+.modal-backdrop,.modal-backdrop.fade.in{opacity:0.8;filter:alpha(opacity=80);}
+.modal{position:fixed;top:50%;left:50%;z-index:1050;max-height:500px;overflow:auto;width:560px;margin:-250px 0 0 -280px;background-color:#ffffff;border:1px solid #999;border:1px solid rgba(0, 0, 0, 0.3);*border:1px solid #999;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 3px 7px rgba(0, 0, 0, 0.3);-moz-box-shadow:0 3px 7px rgba(0, 0, 0, 0.3);box-shadow:0 3px 7px rgba(0, 0, 0, 0.3);-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box;}.modal.fade{-webkit-transition:opacity .3s linear, top .3s ease-out;-moz-transition:opacity .3s linear, top .3s ease-out;-ms-transition:opacity .3s linear, top .3s ease-out;-o-transition:opacity .3s linear, top .3s ease-out;transition:opacity .3s linear, top .3s ease-out;top:-25%;}
+.modal.fade.in{top:50%;}
+.modal-header{padding:9px 15px;border-bottom:1px solid #eee;}.modal-header .close{margin-top:2px;}
+.modal-body{padding:15px;}
+.modal-footer{padding:14px 15px 15px;margin-bottom:0;background-color:#f5f5f5;border-top:1px solid #ddd;-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px;-webkit-box-shadow:inset 0 1px 0 #ffffff;-moz-box-shadow:inset 0 1px 0 #ffffff;box-shadow:inset 0 1px 0 #ffffff;*zoom:1;}.modal-footer:before,.modal-footer:after{display:table;content:"";}
+.modal-footer:after{clear:both;}
+.modal-footer .btn{float:right;margin-left:5px;margin-bottom:0;}
+.tooltip{position:absolute;z-index:1020;display:block;visibility:visible;padding:5px;font-size:11px;opacity:0;filter:alpha(opacity=0);}.tooltip.in{opacity:0.8;filter:alpha(opacity=80);}
+.tooltip.top{margin-top:-2px;}
+.tooltip.right{margin-left:2px;}
+.tooltip.bottom{margin-top:2px;}
+.tooltip.left{margin-left:-2px;}
+.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid #000000;}
+.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:5px solid #000000;}
+.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:5px solid #000000;}
+.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-top:5px solid transparent;border-bottom:5px solid transparent;border-right:5px solid #000000;}
+.tooltip-inner{max-width:200px;padding:3px 8px;color:#ffffff;text-align:center;text-decoration:none;background-color:#000000;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
+.tooltip-arrow{position:absolute;width:0;height:0;}
+.popover{position:absolute;top:0;left:0;z-index:1010;display:none;padding:5px;}.popover.top{margin-top:-5px;}
+.popover.right{margin-left:5px;}
+.popover.bottom{margin-top:5px;}
+.popover.left{margin-left:-5px;}
+.popover.top .arrow{bottom:0;left:50%;margin-left:-5px;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid #000000;}
+.popover.right .arrow{top:50%;left:0;margin-top:-5px;border-top:5px solid transparent;border-bottom:5px solid transparent;border-right:5px solid #000000;}
+.popover.bottom .arrow{top:0;left:50%;margin-left:-5px;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:5px solid #000000;}
+.popover.left .arrow{top:50%;right:0;margin-top:-5px;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:5px solid #000000;}
+.popover .arrow{position:absolute;width:0;height:0;}
+.popover-inner{padding:3px;width:280px;overflow:hidden;background:#000000;background:rgba(0, 0, 0, 0.8);-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 3px 7px rgba(0, 0, 0, 0.3);-moz-box-shadow:0 3px 7px rgba(0, 0, 0, 0.3);box-shadow:0 3px 7px rgba(0, 0, 0, 0.3);}
+.popover-title{padding:9px 15px;line-height:1;background-color:#f5f5f5;border-bottom:1px solid #eee;-webkit-border-radius:3px 3px 0 0;-moz-border-radius:3px 3px 0 0;border-radius:3px 3px 0 0;}
+.popover-content{padding:14px;background-color:#ffffff;-webkit-border-radius:0 0 3px 3px;-moz-border-radius:0 0 3px 3px;border-radius:0 0 3px 3px;-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box;}.popover-content p,.popover-content ul,.popover-content ol{margin-bottom:0;}
+.thumbnails{margin-left:-20px;list-style:none;*zoom:1;}.thumbnails:before,.thumbnails:after{display:table;content:"";}
+.thumbnails:after{clear:both;}
+.thumbnails>li{float:left;margin:0 0 18px 20px;}
+.thumbnail{display:block;padding:4px;line-height:1;border:1px solid #ddd;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0, 0, 0, 0.075);-moz-box-shadow:0 1px 1px rgba(0, 0, 0, 0.075);box-shadow:0 1px 1px rgba(0, 0, 0, 0.075);}
+a.thumbnail:hover{border-color:#0088cc;-webkit-box-shadow:0 1px 4px rgba(0, 105, 214, 0.25);-moz-box-shadow:0 1px 4px rgba(0, 105, 214, 0.25);box-shadow:0 1px 4px rgba(0, 105, 214, 0.25);}
+.thumbnail>img{display:block;max-width:100%;margin-left:auto;margin-right:auto;}
+.thumbnail .caption{padding:9px;}
+.label{padding:1px 3px 2px;font-size:9.75px;font-weight:bold;color:#ffffff;text-transform:uppercase;background-color:#999999;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}
+.label-important{background-color:#b94a48;}
+.label-warning{background-color:#f89406;}
+.label-success{background-color:#468847;}
+.label-info{background-color:#3a87ad;}
+@-webkit-keyframes progress-bar-stripes{from{background-position:0 0;} to{background-position:40px 0;}}@-moz-keyframes progress-bar-stripes{from{background-position:0 0;} to{background-position:40px 0;}}@keyframes progress-bar-stripes{from{background-position:0 0;} to{background-position:40px 0;}}.progress{overflow:hidden;height:18px;margin-bottom:18px;background-color:#f7f7f7;background-image:-moz-linear-gradient(top, #f5f5f5, #f9f9f9);background-image:-ms-linear-gradient(top, #f5f5f5, #f9f9f9);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#f5f5f5), to(#f9f9f9));background-image:-webkit-linear-gradient(top, #f5f5f5, #f9f9f9);background-image:-o-linear-gradient(top, #f5f5f5, #f9f9f9);background-image:linear-gradient(top, #f5f5f5, #f9f9f9);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#f5f5f5', endColorstr='#f9f9f9', GradientType=0);-webkit-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1);-moz-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1);box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1);-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
+.progress .bar{width:0%;height:18px;color:#ffffff;font-size:12px;text-align:center;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#0e90d2;background-image:-moz-linear-gradient(top, #149bdf, #0480be);background-image:-ms-linear-gradient(top, #149bdf, #0480be);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#149bdf), to(#0480be));background-image:-webkit-linear-gradient(top, #149bdf, #0480be);background-image:-o-linear-gradient(top, #149bdf, #0480be);background-image:linear-gradient(top, #149bdf, #0480be);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#149bdf', endColorstr='#0480be', GradientType=0);-webkit-box-shadow:inset 0 -1px 0 rgba(0, 0, 0, 0.15);-moz-box-shadow:inset 0 -1px 0 rgba(0, 0, 0, 0.15);box-shadow:inset 0 -1px 0 rgba(0, 0, 0, 0.15);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-transition:width 0.6s ease;-moz-transition:width 0.6s ease;-ms-transition:width 0.6s ease;-o-transition:width 0.6s ease;transition:width 0.6s ease;}
+.progress-striped .bar{background-color:#62c462;background-image:-webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));background-image:-webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-webkit-background-size:40px 40px;-moz-background-size:40px 40px;-o-background-size:40px 40px;background-size:40px 40px;}
+.progress.active .bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-moz-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite;}
+.progress-danger .bar{background-color:#dd514c;background-image:-moz-linear-gradient(top, #ee5f5b, #c43c35);background-image:-ms-linear-gradient(top, #ee5f5b, #c43c35);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#c43c35));background-image:-webkit-linear-gradient(top, #ee5f5b, #c43c35);background-image:-o-linear-gradient(top, #ee5f5b, #c43c35);background-image:linear-gradient(top, #ee5f5b, #c43c35);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ee5f5b', endColorstr='#c43c35', GradientType=0);}
+.progress-danger.progress-striped .bar{background-color:#ee5f5b;background-image:-webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));background-image:-webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);}
+.progress-success .bar{background-color:#5eb95e;background-image:-moz-linear-gradient(top, #62c462, #57a957);background-image:-ms-linear-gradient(top, #62c462, #57a957);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#57a957));background-image:-webkit-linear-gradient(top, #62c462, #57a957);background-image:-o-linear-gradient(top, #62c462, #57a957);background-image:linear-gradient(top, #62c462, #57a957);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#62c462', endColorstr='#57a957', GradientType=0);}
+.progress-success.progress-striped .bar{background-color:#62c462;background-image:-webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));background-image:-webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);}
+.progress-info .bar{background-color:#4bb1cf;background-image:-moz-linear-gradient(top, #5bc0de, #339bb9);background-image:-ms-linear-gradient(top, #5bc0de, #339bb9);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#339bb9));background-image:-webkit-linear-gradient(top, #5bc0de, #339bb9);background-image:-o-linear-gradient(top, #5bc0de, #339bb9);background-image:linear-gradient(top, #5bc0de, #339bb9);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#5bc0de', endColorstr='#339bb9', GradientType=0);}
+.progress-info.progress-striped .bar{background-color:#5bc0de;background-image:-webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));background-image:-webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);}
+.accordion{margin-bottom:18px;}
+.accordion-group{margin-bottom:2px;border:1px solid #e5e5e5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
+.accordion-heading{border-bottom:0;}
+.accordion-heading .accordion-toggle{display:block;padding:8px 15px;}
+.accordion-inner{padding:9px 15px;border-top:1px solid #e5e5e5;}
+.carousel{position:relative;margin-bottom:18px;line-height:1;}
+.carousel-inner{overflow:hidden;width:100%;position:relative;}
+.carousel .item{display:none;position:relative;-webkit-transition:0.6s ease-in-out left;-moz-transition:0.6s ease-in-out left;-ms-transition:0.6s ease-in-out left;-o-transition:0.6s ease-in-out left;transition:0.6s ease-in-out left;}
+.carousel .item>img{display:block;line-height:1;}
+.carousel .active,.carousel .next,.carousel .prev{display:block;}
+.carousel .active{left:0;}
+.carousel .next,.carousel .prev{position:absolute;top:0;width:100%;}
+.carousel .next{left:100%;}
+.carousel .prev{left:-100%;}
+.carousel .next.left,.carousel .prev.right{left:0;}
+.carousel .active.left{left:-100%;}
+.carousel .active.right{left:100%;}
+.carousel-control{position:absolute;top:40%;left:15px;width:40px;height:40px;margin-top:-20px;font-size:60px;font-weight:100;line-height:30px;color:#ffffff;text-align:center;background:#222222;border:3px solid #ffffff;-webkit-border-radius:23px;-moz-border-radius:23px;border-radius:23px;opacity:0.5;filter:alpha(opacity=50);}.carousel-control.right{left:auto;right:15px;}
+.carousel-control:hover{color:#ffffff;text-decoration:none;opacity:0.9;filter:alpha(opacity=90);}
+.carousel-caption{position:absolute;left:0;right:0;bottom:0;padding:10px 15px 5px;background:#333333;background:rgba(0, 0, 0, 0.75);}
+.carousel-caption h4,.carousel-caption p{color:#ffffff;}
+.hero-unit{padding:60px;margin-bottom:30px;background-color:#f5f5f5;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;}.hero-unit h1{margin-bottom:0;font-size:60px;line-height:1;letter-spacing:-1px;}
+.hero-unit p{font-size:18px;font-weight:200;line-height:27px;}
+.pull-right{float:right;}
+.pull-left{float:left;}
+.hide{display:none;}
+.show{display:block;}
+.invisible{visibility:hidden;}
diff --git a/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/css/jquery.iviewer.css b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/css/jquery.iviewer.css
new file mode 100644
index 0000000..d68c642
--- /dev/null
+++ b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/css/jquery.iviewer.css
@@ -0,0 +1,91 @@
+.iviewer_common {
+ position:absolute;
+ bottom:10px;
+ border: 1px solid #000;
+ height: 28px;
+ z-index: 5000;
+}
+
+.iviewer_cursor {
+ cursor: url(../img/iviewer/hand.cur) 6 8, pointer;
+}
+
+.iviewer_drag_cursor {
+ cursor: url(../img/iviewer/grab.cur) 6 8, pointer;
+}
+
+.iviewer_button {
+ width: 28px;
+ cursor: pointer;
+ background-position: center center;
+ background-repeat: no-repeat;
+}
+
+.iviewer_zoom_in {
+ left: 20px;
+ background: url(../img/iviewer/iviewer.zoom_in.png);
+}
+
+.iviewer_zoom_out {
+ left: 55px;
+ background: url(../img/iviewer/iviewer.zoom_out.png);
+}
+
+.iviewer_zoom_zero {
+ left: 90px;
+ background: url(../img/iviewer/iviewer.zoom_zero.png);
+}
+
+.iviewer_zoom_fit {
+ left: 125px;
+ background: url(../img/iviewer/iviewer.zoom_fit.png);
+}
+
+.iviewer_zoom_status {
+ left: 160px;
+ font: 1em/28px Sans;
+ color: #000;
+ background-color: #fff;
+ text-align: center;
+ width: 60px;
+}
+
+.iviewer_rotate_left {
+ left: 227px;
+ background: #fff url(../img/iviewer/iviewer.rotate_left.png) center center no-repeat;
+}
+
+.iviewer_rotate_right {
+ left: 262px;
+ background: #fff url(../img/iviewer/iviewer.rotate_right.png) center center no-repeat;
+}
+
+.viewer
+{
+ width: 100%;
+ height: 500px;
+ position: relative;
+ background: transparent url('../img/loader.gif') no-repeat center center;
+}
+
+.viewer img
+{
+ max-width: none;
+}
+
+.wrapper
+{
+ overflow: hidden;
+}
+
+.iviewer_common
+{
+ border: 0;
+ bottom: auto;
+ top: 10px;
+}
+
+.iviewer_zoom_status
+{
+ border: 1px solid black;
+}
diff --git a/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/css/prettify.css b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/css/prettify.css
new file mode 100644
index 0000000..d44b3a2
--- /dev/null
+++ b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/css/prettify.css
@@ -0,0 +1 @@
+.pln{color:#000}@media screen{.str{color:#080}.kwd{color:#008}.com{color:#800}.typ{color:#606}.lit{color:#066}.pun,.opn,.clo{color:#660}.tag{color:#008}.atn{color:#606}.atv{color:#080}.dec,.var{color:#606}.fun{color:red}}@media print,projection{.str{color:#060}.kwd{color:#006;font-weight:bold}.com{color:#600;font-style:italic}.typ{color:#404;font-weight:bold}.lit{color:#044}.pun,.opn,.clo{color:#440}.tag{color:#006;font-weight:bold}.atn{color:#404}.atv{color:#060}}pre.prettyprint{padding:2px;border:1px solid #888}ol.linenums{margin-top:0;margin-bottom:0}li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8{list-style-type:none}li.L1,li.L3,li.L5,li.L7,li.L9{background:#eee}
\ No newline at end of file
diff --git a/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/css/template.css b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/css/template.css
new file mode 100644
index 0000000..74889d8
--- /dev/null
+++ b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/css/template.css
@@ -0,0 +1,505 @@
+@import url(bootstrap.min.css);
+@import url(bootstrap-responsive.css);
+@import url(prettify.css);
+@import url(jquery.iviewer.css);
+@import url(http://fonts.googleapis.com/css?family=Crimson+Text|Philosopher|Forum);
+
+body
+{
+ padding-top: 60px; /* 60px to make the container go all the way to the bottom of the topbar */
+ background: #f9f9f9;
+ color: #444;
+}
+
+a
+{
+ color: #55A72F;
+}
+
+li.l0, li.l1, li.l2, li.l3, li.l5, li.l6, li.l7, li.l8
+{
+ list-style-type: decimal;
+}
+
+a.brand, h2, .hero-unit h1
+{
+ font-family: 'Forum', "Helvetica Neue", Helvetica, Arial, sans-serif;
+}
+
+.element .span4
+{
+ width: 275px;
+}
+
+.namespace-contents hr, .package-contents hr
+{
+ border-top: 3px dotted silver;
+}
+
+.namespace-indent, .package-indent
+{
+ padding-left: 10px; border-left: 1px dashed #f0f0f0;
+}
+
+.element h3 i, .namespace-contents h3 i, .package-contents h3 i
+{
+ margin-top: 2px;
+ margin-right: 5px;
+}
+
+.element h3, .namespace-contents h3, .package-contents h3
+{
+ margin-top: 25px;
+ margin-bottom: 20px;
+ border-bottom: 1px solid silver;
+}
+
+.element h3:first-of-type, .namespace-contents h3:first-of-type,
+.package-contents h3:first-of-type
+{
+ margin-top: 30px;
+}
+
+.element h2
+{
+ font-family: inherit;
+ font-size: 1.2em;
+ color: black;
+}
+
+.element .type
+{
+ font-weight: bold;
+}
+
+#search-query
+{
+ height: auto;
+}
+
+.hero-unit, div.element, .well
+{
+ border: 1px solid #e0e0e0;
+ background: white;
+}
+
+h2
+{
+ border-bottom: 1px dashed #55A72F;
+ margin-bottom: 10px;
+ padding-bottom: 0;
+ padding-left: 5px;
+ color: #e9e9e9;
+ font-weight: normal;
+ margin-top: 40px;
+}
+
+h2:first-of-type
+{
+ margin-top: 0;
+}
+
+.hero-unit
+{
+ background: #75a70d; /* Old browsers */
+ background: -moz-radial-gradient(center, ellipse cover, #bfd255 0%, #8eb92a 72%, #72aa00 96%, #9ecb2d 100%); /* FF3.6+ */
+ background: -webkit-gradient(radial, center center, 0px, center center, 100%, color-stop(0%,#bfd255), color-stop(72%,#8eb92a), color-stop(96%,#72aa00), color-stop(100%,#9ecb2d)); /* Chrome,Safari4+ */
+ background: -webkit-radial-gradient(center, ellipse cover, #bfd255 0%,#8eb92a 72%,#72aa00 96%,#9ecb2d 100%); /* Chrome10+,Safari5.1+ */
+ background: -o-radial-gradient(center, ellipse cover, #bfd255 0%,#8eb92a 72%,#72aa00 96%,#9ecb2d 100%); /* Opera 12+ */
+ background: -ms-radial-gradient(center, ellipse cover, #bfd255 0%,#8eb92a 72%,#72aa00 96%,#9ecb2d 100%); /* IE10+ */
+ background: radial-gradient(center, ellipse cover, #bfd255 0%,#8eb92a 72%,#72aa00 96%,#9ecb2d 100%); /* W3C */
+ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#bfd255', endColorstr='#9ecb2d',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */
+
+ padding: 40px 0 15px 0;
+ box-shadow: inset 0 0 10px gray;
+}
+
+.hero-unit h1
+{
+ text-align: center;
+ font-weight: normal;
+ text-align: center;
+ color: white;
+ text-shadow: black 0px 0px 15px;
+}
+
+.hero-unit h2
+{
+ border: none;
+ color: white;
+ background: rgba(48, 48, 48, 0.5);
+ padding: 0;
+ margin: 0;
+ margin-top: 15px;
+ text-align: center;
+}
+
+.namespace-contents h2, .package-contents h2
+{
+ padding-left: 44px;
+ background: transparent url('../img/icons/icon-th-big.png') no-repeat 3px center;
+}
+
+.package-contents h2
+{
+ background-image: url('../img/icons/icon-folder-open-big.png');
+}
+
+.namespace-contents .element h2, .package-contents .element h2
+{
+ padding-left: 0;
+ background: none;
+}
+
+div.element
+{
+ border-left: 10px solid #55A72F;
+ border-radius: 5px;
+ padding: 7px 7px 2px 7px;
+ margin-bottom: 15px;
+ margin-left: 0;
+}
+
+div.element.protected
+{
+ border-left-color: orange;
+}
+
+div.element.private
+{
+ border-left-color: red;
+}
+
+div.element.class, div.element.interface
+{
+ border-left-color: #e0e0e0;
+}
+
+div.element.class.abstract h1, div.element.interface.abstract h1
+{
+ font-style: italic;
+}
+
+div.element h1
+{
+ font-size: 1.2em;
+ line-height: 1.5em;
+ margin-bottom: 10px;
+ padding-left: 22px;
+ background: transparent no-repeat left 2px;
+ word-wrap: break-word;
+}
+
+div.element h1 a
+{
+ color: transparent;
+ margin-left: 10px;
+}
+
+div.element h1:hover a
+{
+ color: silver;
+}
+
+div.element h1 a:hover
+{
+ color: navy;
+}
+
+div.element a.more:hover
+{
+ background: #f0f0f0;
+ color: #444;
+ text-decoration: none;
+}
+
+div.element a.more
+{
+ font-weight: bold;
+ text-align: center;
+ color: gray;
+ border-top: 1px dashed silver;
+ display: block;
+ margin-top: 5px;
+ padding: 5px 0;
+ border-bottom-left-radius: 5px;
+ border-bottom-right-radius: 5px;
+}
+
+div.element p
+{
+ font-size: 0.9em;
+}
+
+div.element .table
+{
+ font-size: 0.9em;
+}
+
+div.element .table th
+{
+ text-transform: capitalize;
+}
+
+div.detail-description
+{
+ padding-left: 30px;
+}
+
+body.invert
+{
+ background: white;
+}
+
+body.invert div.element
+{
+ background: #f9f9f9;
+}
+
+ul.side-nav
+{
+ clear: both;
+}
+
+ul.side-nav li
+{
+ word-wrap: break-word;
+ padding-left: 10px;
+ text-indent: -10px;
+}
+
+ul.side-nav li a
+{
+ background: transparent no-repeat 5px 3px;
+ padding-bottom: 10px;
+ font-style: italic;
+}
+
+ul.side-nav li pre
+{
+ font-size: 0.8em;
+ margin: 5px 15px 0 15px;
+ padding: 2px 5px;
+ background-color: #f8f8f8;
+ color: gray;
+ font-style: normal;
+ word-wrap: break-word;
+ text-indent: 0;
+}
+
+ul.side-nav li.view-simple span.description
+{
+ display: none;
+}
+
+ul.side-nav li.view-simple pre
+{
+ font-size: inherit;
+ margin: inherit;
+ padding: inherit;
+ background-color: inherit;
+ border: none;
+ color: inherit;
+ font-family: inherit;
+ font-style: inherit;
+ padding-bottom: 0;
+ padding-left: 5px;
+}
+
+ul.side-nav li.view-simple a
+{
+ padding-bottom: 0px;
+}
+
+i.icon-custom
+{
+ width: 16px;
+ height: 16px;
+ background-position: 0;
+}
+
+.table.markers
+{
+ background: white;
+}
+
+/* JS only functionality; disable by default */
+.btn-group.visibility, .btn-group.view, .btn-group.type-filter
+{
+ display: none;
+}
+
+.btn-group.view
+{
+ margin-left: 20px;
+ margin-bottom: 20px;
+}
+
+.visibility button
+{
+ height: 24px;
+}
+
+div.element.constant h1,
+i.icon-constant { background-image: url('../img/icons/constant.png'); }
+
+div.element.function h1,
+i.icon-function { background-image: url('../img/icons/function.png'); }
+
+div.element.method h1,
+i.icon-method { background-image: url('../img/icons/method.png'); }
+
+div.element.class h1,
+i.icon-class { background-image: url('../img/icons/class.png'); }
+
+div.element.interface h1,
+i.icon-interface { background-image: url('../img/icons/interface.png'); }
+
+div.element.property h1,
+i.icon-property { background-image: url('../img/icons/property.png'); }
+
+i.icon-show-public { background-image: url('../img/icons/visibility_public.png'); }
+i.icon-show-protected { background-image: url('../img/icons/visibility_protected.png'); }
+i.icon-show-private { background-image: url('../img/icons/visibility_private.png'); }
+
+span.empty-namespace
+{
+ color: silver;
+}
+
+footer
+{
+ text-align: right;
+ font-size: 0.8em;
+ opacity: 0.5;
+}
+
+#mapHolder
+{
+ border: 4px solid #555;
+ padding: 0 !important;
+ overflow: hidden
+}
+
+div.element div.subelement
+{
+ margin-left: 10px;
+ padding-bottom: 5px;
+}
+
+pre code
+{
+ border: none;
+}
+
+div.element div.subelement > code
+{
+ font-size: 0.8em;
+ float: left;
+ margin-right: 10px;
+ padding: 0 5px;
+ line-height: 16px;
+}
+
+div.element div.subelement > p
+{
+ margin-left: 20px;
+ margin-right: 40px;
+}
+
+div.element div.subelement h4
+{
+ color: #666;
+ margin-bottom: 5px;
+}
+
+div.element div.subelement.response
+{
+ padding-bottom: 15px;
+}
+
+div.labels
+{
+ text-align: right;
+}
+
+.nav-list .nav-header
+{
+ font-size: 13px;
+}
+
+.go_to_top
+{
+ float: right;
+ margin-right: 20px;
+ background: #2C2C2C;
+ color: #999;
+ padding: 3px 10px;
+ border-bottom-right-radius: 5px;
+ border-bottom-left-radius: 5px;
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
+ line-height: 19px;
+}
+
+.visibility .btn {
+ text-transform: uppercase;
+ font-size: 0.7em;
+ font-weight: bold;
+}
+
+@media (min-width: 980px)
+{
+ a[name]
+ {
+ margin-top: -50px;
+ position: absolute;
+ }
+}
+
+@media (min-width: 1200px)
+{
+ .method .span4
+ {
+ width: 345px;
+ }
+}
+
+/* redefined because twitter bootstrap assumes that bootstrap-responsive.css */
+@media (max-width: 980px)
+{
+ body
+ {
+ padding-top: 0;
+ }
+
+ .go_to_top
+ {
+ display: none;
+ }
+
+ .btn-group.visibility
+ {
+ font-size: 0.80em;
+ margin-bottom: 7px;
+ display: block;
+ float: right;
+ }
+}
+
+@media (max-width: 768px)
+{
+ .hero-unit h1 {
+ font-size: 30px;
+ }
+ .hero-unit h2 {
+ font-size: 19px;
+ }
+
+}
+@media (min-width: 768px) and (max-width: 980px)
+{
+ .method .span4
+ {
+ width: 203px;
+ }
+}
diff --git a/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/deprecated.html b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/deprecated.html
new file mode 100644
index 0000000..a75952b
--- /dev/null
+++ b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/deprecated.html
@@ -0,0 +1,70 @@
+
+
+
+
+
+PHPMailer version 5.2.4
+
+
+
+
+
+
+
+
+
+
+
+
+ Javascript is disabled; several features are only available
+ if Javascript is enabled.
+
+
+
+
+
+
+\
+
+Deprecated elements
+
+
No deprecated elements have been
+ found in this project.
+
+
+
+
+
+
+
+
diff --git a/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/errors.html b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/errors.html
new file mode 100644
index 0000000..4f2d7cb
--- /dev/null
+++ b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/errors.html
@@ -0,0 +1,227 @@
+
+
+
+
+
+PHPMailer version 5.2.4
+
+
+
+
+
+
+
+
+
+
+
+
+ Javascript is disabled; several features are only available
+ if Javascript is enabled.
+
+
+
+
+
+
+\
+
+Compilation Errors
+
+
+
+ class.phpmailer.php16
+
+
+
+Type
+Line
+Description
+
+
+
+critical
+405
+No short description for property $smtp
+
+
+critical
+410
+No short description for property $to
+
+
+critical
+415
+No short description for property $cc
+
+
+critical
+420
+No short description for property $bcc
+
+
+critical
+425
+No short description for property $ReplyTo
+
+
+critical
+430
+No short description for property $all_recipients
+
+
+critical
+435
+No short description for property $attachment
+
+
+critical
+440
+No short description for property $CustomHeader
+
+
+critical
+445
+No short description for property $message_type
+
+
+critical
+450
+No short description for property $boundary
+
+
+critical
+455
+No short description for property $language
+
+
+critical
+460
+No short description for property $error_count
+
+
+critical
+465
+No short description for property $sign_cert_file
+
+
+critical
+470
+No short description for property $sign_key_file
+
+
+critical
+475
+No short description for property $sign_key_pass
+
+
+critical
+480
+No short description for property $exceptions
+
+
+
+
+
+
+ class.pop3.php3
+
+
+
+Type
+Line
+Description
+
+
+
+critical
+124
+No short description for property $pop_conn
+
+
+critical
+128
+No short description for property $connected
+
+
+critical
+132
+No short description for property $error
+
+
+
+
+
+
+ class.smtp.php3
+
+
+
+Type
+Line
+Description
+
+
+
+critical
+100
+No short description for property $smtp_conn
+
+
+critical
+104
+No short description for property $error
+
+
+critical
+108
+No short description for property $helo_rply
+
+
+
+
+
+
+
+
+
+
diff --git a/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/graph_class.html b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/graph_class.html
new file mode 100644
index 0000000..395c2d1
--- /dev/null
+++ b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/graph_class.html
@@ -0,0 +1,67 @@
+
+
+
+
+
+PHPMailer version 5.2.4
+
+
+
+
+
+
+
+
+
+
+
+
+ Javascript is disabled; several features are only available
+ if Javascript is enabled.
+
+
+
+
+
+
diff --git a/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/apple-touch-icon-114x114.png b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/apple-touch-icon-114x114.png
new file mode 100644
index 0000000..1506f6a
Binary files /dev/null and b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/apple-touch-icon-114x114.png differ
diff --git a/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/apple-touch-icon-72x72.png b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/apple-touch-icon-72x72.png
new file mode 100644
index 0000000..d813259
Binary files /dev/null and b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/apple-touch-icon-72x72.png differ
diff --git a/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/apple-touch-icon.png b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/apple-touch-icon.png
new file mode 100644
index 0000000..2d320cb
Binary files /dev/null and b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/apple-touch-icon.png differ
diff --git a/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/favicon.ico b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/favicon.ico
new file mode 100644
index 0000000..9575ac8
Binary files /dev/null and b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/favicon.ico differ
diff --git a/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/glyphicons-halflings-white.png b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/glyphicons-halflings-white.png
new file mode 100644
index 0000000..a20760b
Binary files /dev/null and b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/glyphicons-halflings-white.png differ
diff --git a/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/glyphicons-halflings.png b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/glyphicons-halflings.png
new file mode 100644
index 0000000..92d4445
Binary files /dev/null and b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/glyphicons-halflings.png differ
diff --git a/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/icons/arrow_down.png b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/icons/arrow_down.png
new file mode 100644
index 0000000..61505ad
Binary files /dev/null and b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/icons/arrow_down.png differ
diff --git a/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/icons/arrow_right.png b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/icons/arrow_right.png
new file mode 100644
index 0000000..60c5927
Binary files /dev/null and b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/icons/arrow_right.png differ
diff --git a/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/icons/class.png b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/icons/class.png
new file mode 100644
index 0000000..87c2107
Binary files /dev/null and b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/icons/class.png differ
diff --git a/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/icons/constant.png b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/icons/constant.png
new file mode 100644
index 0000000..f5f180d
Binary files /dev/null and b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/icons/constant.png differ
diff --git a/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/icons/favicon.ico b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/icons/favicon.ico
new file mode 100644
index 0000000..df28db3
Binary files /dev/null and b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/icons/favicon.ico differ
diff --git a/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/icons/file-php.png b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/icons/file-php.png
new file mode 100644
index 0000000..c323f09
Binary files /dev/null and b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/icons/file-php.png differ
diff --git a/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/icons/file.gif b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/icons/file.gif
new file mode 100644
index 0000000..7e62167
Binary files /dev/null and b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/icons/file.gif differ
diff --git a/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/icons/folder.gif b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/icons/folder.gif
new file mode 100644
index 0000000..2b31631
Binary files /dev/null and b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/icons/folder.gif differ
diff --git a/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/icons/function.png b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/icons/function.png
new file mode 100644
index 0000000..c430902
Binary files /dev/null and b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/icons/function.png differ
diff --git a/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/icons/icon-folder-open-big.png b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/icons/icon-folder-open-big.png
new file mode 100644
index 0000000..fae384e
Binary files /dev/null and b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/icons/icon-folder-open-big.png differ
diff --git a/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/icons/icon-th-big.png b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/icons/icon-th-big.png
new file mode 100644
index 0000000..04b0ad8
Binary files /dev/null and b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/icons/icon-th-big.png differ
diff --git a/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/icons/icon_template.svg b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/icons/icon_template.svg
new file mode 100644
index 0000000..b0428aa
--- /dev/null
+++ b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/icons/icon_template.svg
@@ -0,0 +1,93 @@
+
+
+
+
+
+
+
+
+
+
+
+ image/svg+xml
+
+
+
+
+
+
+
+
+ Co
+
+
diff --git a/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/icons/interface.png b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/icons/interface.png
new file mode 100644
index 0000000..51a3a17
Binary files /dev/null and b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/icons/interface.png differ
diff --git a/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/icons/method.png b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/icons/method.png
new file mode 100644
index 0000000..a7cc004
Binary files /dev/null and b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/icons/method.png differ
diff --git a/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/icons/ok.png b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/icons/ok.png
new file mode 100644
index 0000000..39f287a
Binary files /dev/null and b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/icons/ok.png differ
diff --git a/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/icons/property.png b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/icons/property.png
new file mode 100644
index 0000000..e76d52b
Binary files /dev/null and b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/icons/property.png differ
diff --git a/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/icons/search.gif b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/icons/search.gif
new file mode 100644
index 0000000..eef46fc
Binary files /dev/null and b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/icons/search.gif differ
diff --git a/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/icons/variable.png b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/icons/variable.png
new file mode 100644
index 0000000..a39bc19
Binary files /dev/null and b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/icons/variable.png differ
diff --git a/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/icons/view_source.png b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/icons/view_source.png
new file mode 100644
index 0000000..0c76bd1
Binary files /dev/null and b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/icons/view_source.png differ
diff --git a/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/icons/visibility_private.png b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/icons/visibility_private.png
new file mode 100644
index 0000000..386dc2d
Binary files /dev/null and b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/icons/visibility_private.png differ
diff --git a/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/icons/visibility_protected.png b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/icons/visibility_protected.png
new file mode 100644
index 0000000..d3bd8e7
Binary files /dev/null and b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/icons/visibility_protected.png differ
diff --git a/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/icons/visibility_public.png b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/icons/visibility_public.png
new file mode 100644
index 0000000..4e10063
Binary files /dev/null and b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/icons/visibility_public.png differ
diff --git a/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/iviewer/grab.cur b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/iviewer/grab.cur
new file mode 100644
index 0000000..ef540be
Binary files /dev/null and b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/iviewer/grab.cur differ
diff --git a/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/iviewer/hand.cur b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/iviewer/hand.cur
new file mode 100644
index 0000000..1a5bafb
Binary files /dev/null and b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/iviewer/hand.cur differ
diff --git a/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/iviewer/iviewer.rotate_left.png b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/iviewer/iviewer.rotate_left.png
new file mode 100644
index 0000000..df0956d
Binary files /dev/null and b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/iviewer/iviewer.rotate_left.png differ
diff --git a/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/iviewer/iviewer.rotate_right.png b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/iviewer/iviewer.rotate_right.png
new file mode 100644
index 0000000..7a6c829
Binary files /dev/null and b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/iviewer/iviewer.rotate_right.png differ
diff --git a/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/iviewer/iviewer.zoom_fit.png b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/iviewer/iviewer.zoom_fit.png
new file mode 100644
index 0000000..364e01d
Binary files /dev/null and b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/iviewer/iviewer.zoom_fit.png differ
diff --git a/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/iviewer/iviewer.zoom_fit2.gif b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/iviewer/iviewer.zoom_fit2.gif
new file mode 100644
index 0000000..3199a1e
Binary files /dev/null and b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/iviewer/iviewer.zoom_fit2.gif differ
diff --git a/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/iviewer/iviewer.zoom_in.png b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/iviewer/iviewer.zoom_in.png
new file mode 100644
index 0000000..7899332
Binary files /dev/null and b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/iviewer/iviewer.zoom_in.png differ
diff --git a/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/iviewer/iviewer.zoom_in2.gif b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/iviewer/iviewer.zoom_in2.gif
new file mode 100644
index 0000000..5d59618
Binary files /dev/null and b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/iviewer/iviewer.zoom_in2.gif differ
diff --git a/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/iviewer/iviewer.zoom_out.png b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/iviewer/iviewer.zoom_out.png
new file mode 100644
index 0000000..893f350
Binary files /dev/null and b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/iviewer/iviewer.zoom_out.png differ
diff --git a/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/iviewer/iviewer.zoom_out2.gif b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/iviewer/iviewer.zoom_out2.gif
new file mode 100644
index 0000000..77ec19a
Binary files /dev/null and b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/iviewer/iviewer.zoom_out2.gif differ
diff --git a/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/iviewer/iviewer.zoom_zero.png b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/iviewer/iviewer.zoom_zero.png
new file mode 100644
index 0000000..c981db6
Binary files /dev/null and b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/iviewer/iviewer.zoom_zero.png differ
diff --git a/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/iviewer/iviewer.zoom_zero2.gif b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/iviewer/iviewer.zoom_zero2.gif
new file mode 100644
index 0000000..e56c670
Binary files /dev/null and b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/iviewer/iviewer.zoom_zero2.gif differ
diff --git a/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/loader.gif b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/loader.gif
new file mode 100644
index 0000000..1209425
Binary files /dev/null and b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/img/loader.gif differ
diff --git a/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/index.html b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/index.html
new file mode 100644
index 0000000..e667adc
--- /dev/null
+++ b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/index.html
@@ -0,0 +1,89 @@
+
+
+
+
+
+PHPMailer version 5.2.4
+
+
+
+
+
+
+
+
+
+
+
+
+ Javascript is disabled; several features are only available
+ if Javascript is enabled.
+
+
+
PHPMailer version 5.2.4
+Documentation
+
+
+
+
+
+
diff --git a/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/js/SVGPan.js b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/js/SVGPan.js
new file mode 100644
index 0000000..4966b99
--- /dev/null
+++ b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/js/SVGPan.js
@@ -0,0 +1,232 @@
+/**
+ * SVGPan library 1.2 - phpDocumentor1
+ * ====================
+ *
+ * Given an unique existing element with id "viewport", including the
+ * the library into any SVG adds the following capabilities:
+ *
+ * - Mouse panning
+ * - Mouse zooming (using the wheel)
+ * - Object dargging
+ *
+ * Known issues:
+ *
+ * - Zooming (while panning) on Safari has still some issues
+ *
+ * Releases:
+ *
+ * 1.2 - phpDocumentor1, Fri Apr 08 19:19:00 CET 2011, Mike van Riel
+ * Increased zoom speed with 20%
+ * Disabled element moving functionality
+ *
+ * 1.2, Sat Mar 20 08:42:50 GMT 2010, Zeng Xiaohui
+ * Fixed a bug with browser mouse handler interaction
+ *
+ * 1.1, Wed Feb 3 17:39:33 GMT 2010, Zeng Xiaohui
+ * Updated the zoom code to support the mouse wheel on Safari/Chrome
+ *
+ * 1.0, Andrea Leofreddi
+ * First release
+ *
+ * This code is licensed under the following BSD license:
+ *
+ * Copyright 2009-2010 Andrea Leofreddi . All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification, are
+ * permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this list of
+ * conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright notice, this list
+ * of conditions and the following disclaimer in the documentation and/or other materials
+ * provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY Andrea Leofreddi ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+ * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL Andrea Leofreddi OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those of the
+ * authors and should not be interpreted as representing official policies, either expressed
+ * or implied, of Andrea Leofreddi.
+ */
+
+var root = document.documentElement;
+
+var state = 'none', stateTarget, stateOrigin, stateTf;
+
+setupHandlers(root);
+
+/**
+ * Register handlers
+ */
+function setupHandlers(root){
+ setAttributes(root, {
+ "onmouseup" : "add(evt)",
+ "onmousedown" : "handleMouseDown(evt)",
+ "onmousemove" : "handleMouseMove(evt)",
+ "onmouseup" : "handleMouseUp(evt)",
+// "onmouseout" : "handleMouseUp(evt)" // Decomment this to stop the pan functionality when dragging out of the SVG element
+ });
+
+ if(navigator.userAgent.toLowerCase().indexOf('webkit') >= 0)
+ window.addEventListener('mousewheel', handleMouseWheel, false); // Chrome/Safari
+ else
+ window.addEventListener('DOMMouseScroll', handleMouseWheel, false); // Others
+}
+
+/**
+ * Instance an SVGPoint object with given event coordinates.
+ */
+function getEventPoint(evt) {
+ var p = root.createSVGPoint();
+
+ p.x = evt.clientX;
+ p.y = evt.clientY;
+
+ return p;
+}
+
+/**
+ * Sets the current transform matrix of an element.
+ */
+function setCTM(element, matrix) {
+ var s = "matrix(" + matrix.a + "," + matrix.b + "," + matrix.c + "," + matrix.d + "," + matrix.e + "," + matrix.f + ")";
+
+ element.setAttribute("transform", s);
+}
+
+/**
+ * Dumps a matrix to a string (useful for debug).
+ */
+function dumpMatrix(matrix) {
+ var s = "[ " + matrix.a + ", " + matrix.c + ", " + matrix.e + "\n " + matrix.b + ", " + matrix.d + ", " + matrix.f + "\n 0, 0, 1 ]";
+
+ return s;
+}
+
+/**
+ * Sets attributes of an element.
+ */
+function setAttributes(element, attributes){
+ for (i in attributes)
+ element.setAttributeNS(null, i, attributes[i]);
+}
+
+/**
+ * Handle mouse move event.
+ */
+function handleMouseWheel(evt) {
+ if(evt.preventDefault)
+ evt.preventDefault();
+
+ evt.returnValue = false;
+
+ var svgDoc = evt.target.ownerDocument;
+
+ var delta;
+
+ if(evt.wheelDelta)
+ delta = evt.wheelDelta / 3600; // Chrome/Safari
+ else
+ delta = evt.detail / -90; // Mozilla
+
+ var z = 1 + (delta * 1.2); // Zoom factor: 0.9/1.1
+
+ var g = svgDoc.getElementById("viewport");
+
+ var p = getEventPoint(evt);
+
+ p = p.matrixTransform(g.getCTM().inverse());
+
+ // Compute new scale matrix in current mouse position
+ var k = root.createSVGMatrix().translate(p.x, p.y).scale(z).translate(-p.x, -p.y);
+
+ setCTM(g, g.getCTM().multiply(k));
+
+ stateTf = stateTf.multiply(k.inverse());
+}
+
+/**
+ * Handle mouse move event.
+ */
+function handleMouseMove(evt) {
+ if(evt.preventDefault)
+ evt.preventDefault();
+
+ evt.returnValue = false;
+
+ var svgDoc = evt.target.ownerDocument;
+
+ var g = svgDoc.getElementById("viewport");
+
+ if(state == 'pan') {
+ // Pan mode
+ var p = getEventPoint(evt).matrixTransform(stateTf);
+
+ setCTM(g, stateTf.inverse().translate(p.x - stateOrigin.x, p.y - stateOrigin.y));
+ } else if(state == 'move') {
+ // Move mode
+ var p = getEventPoint(evt).matrixTransform(g.getCTM().inverse());
+
+ setCTM(stateTarget, root.createSVGMatrix().translate(p.x - stateOrigin.x, p.y - stateOrigin.y).multiply(g.getCTM().inverse()).multiply(stateTarget.getCTM()));
+
+ stateOrigin = p;
+ }
+}
+
+/**
+ * Handle click event.
+ */
+function handleMouseDown(evt) {
+ if(evt.preventDefault)
+ evt.preventDefault();
+
+ evt.returnValue = false;
+
+ var svgDoc = evt.target.ownerDocument;
+
+ var g = svgDoc.getElementById("viewport");
+
+// if(evt.target.tagName == "svg") {
+ // Pan mode
+ state = 'pan';
+
+ stateTf = g.getCTM().inverse();
+
+ stateOrigin = getEventPoint(evt).matrixTransform(stateTf);
+// } else {
+ // Move mode
+// state = 'move';
+//
+// stateTarget = evt.target;
+//
+// stateTf = g.getCTM().inverse();
+//
+// stateOrigin = getEventPoint(evt).matrixTransform(stateTf);
+// }
+}
+
+/**
+ * Handle mouse button release event.
+ */
+function handleMouseUp(evt) {
+ if(evt.preventDefault)
+ evt.preventDefault();
+
+ evt.returnValue = false;
+
+ var svgDoc = evt.target.ownerDocument;
+
+ if(state == 'pan' || state == 'move') {
+ // Quit pan mode
+ state = '';
+ }
+}
+
diff --git a/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/js/bootstrap.js b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/js/bootstrap.js
new file mode 100644
index 0000000..c832ccb
--- /dev/null
+++ b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/js/bootstrap.js
@@ -0,0 +1,1722 @@
+/* ===================================================
+ * bootstrap-transition.js v2.0.0
+ * http://twitter.github.com/bootstrap/javascript.html#transitions
+ * ===================================================
+ * Copyright 2012 Twitter, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ========================================================== */
+
+!function( $ ) {
+
+ $(function () {
+
+ "use strict"
+
+ /* CSS TRANSITION SUPPORT (https://gist.github.com/373874)
+ * ======================================================= */
+
+ $.support.transition = (function () {
+ var thisBody = document.body || document.documentElement
+ , thisStyle = thisBody.style
+ , support = thisStyle.transition !== undefined || thisStyle.WebkitTransition !== undefined || thisStyle.MozTransition !== undefined || thisStyle.MsTransition !== undefined || thisStyle.OTransition !== undefined
+
+ return support && {
+ end: (function () {
+ var transitionEnd = "TransitionEnd"
+ if ( $.browser.webkit ) {
+ transitionEnd = "webkitTransitionEnd"
+ } else if ( $.browser.mozilla ) {
+ transitionEnd = "transitionend"
+ } else if ( $.browser.opera ) {
+ transitionEnd = "oTransitionEnd"
+ }
+ return transitionEnd
+ }())
+ }
+ })()
+
+ })
+
+}( window.jQuery )
+/* ==========================================================
+ * bootstrap-alert.js v2.0.0
+ * http://twitter.github.com/bootstrap/javascript.html#alerts
+ * ==========================================================
+ * Copyright 2012 Twitter, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ========================================================== */
+
+
+!function( $ ){
+
+ "use strict"
+
+ /* ALERT CLASS DEFINITION
+ * ====================== */
+
+ var dismiss = '[data-dismiss="alert"]'
+ , Alert = function ( el ) {
+ $(el).on('click', dismiss, this.close)
+ }
+
+ Alert.prototype = {
+
+ constructor: Alert
+
+ , close: function ( e ) {
+ var $this = $(this)
+ , selector = $this.attr('data-target')
+ , $parent
+
+ if (!selector) {
+ selector = $this.attr('href')
+ selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7
+ }
+
+ $parent = $(selector)
+ $parent.trigger('close')
+
+ e && e.preventDefault()
+
+ $parent.length || ($parent = $this.hasClass('alert') ? $this : $this.parent())
+
+ $parent.removeClass('in')
+
+ function removeElement() {
+ $parent.remove()
+ $parent.trigger('closed')
+ }
+
+ $.support.transition && $parent.hasClass('fade') ?
+ $parent.on($.support.transition.end, removeElement) :
+ removeElement()
+ }
+
+ }
+
+
+ /* ALERT PLUGIN DEFINITION
+ * ======================= */
+
+ $.fn.alert = function ( option ) {
+ return this.each(function () {
+ var $this = $(this)
+ , data = $this.data('alert')
+ if (!data) $this.data('alert', (data = new Alert(this)))
+ if (typeof option == 'string') data[option].call($this)
+ })
+ }
+
+ $.fn.alert.Constructor = Alert
+
+
+ /* ALERT DATA-API
+ * ============== */
+
+ $(function () {
+ $('body').on('click.alert.data-api', dismiss, Alert.prototype.close)
+ })
+
+}( window.jQuery )
+/* ============================================================
+ * bootstrap-button.js v2.0.0
+ * http://twitter.github.com/bootstrap/javascript.html#buttons
+ * ============================================================
+ * Copyright 2012 Twitter, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============================================================ */
+
+!function( $ ){
+
+ "use strict"
+
+ /* BUTTON PUBLIC CLASS DEFINITION
+ * ============================== */
+
+ var Button = function ( element, options ) {
+ this.$element = $(element)
+ this.options = $.extend({}, $.fn.button.defaults, options)
+ }
+
+ Button.prototype = {
+
+ constructor: Button
+
+ , setState: function ( state ) {
+ var d = 'disabled'
+ , $el = this.$element
+ , data = $el.data()
+ , val = $el.is('input') ? 'val' : 'html'
+
+ state = state + 'Text'
+ data.resetText || $el.data('resetText', $el[val]())
+
+ $el[val](data[state] || this.options[state])
+
+ // push to event loop to allow forms to submit
+ setTimeout(function () {
+ state == 'loadingText' ?
+ $el.addClass(d).attr(d, d) :
+ $el.removeClass(d).removeAttr(d)
+ }, 0)
+ }
+
+ , toggle: function () {
+ var $parent = this.$element.parent('[data-toggle="buttons-radio"]')
+
+ $parent && $parent
+ .find('.active')
+ .removeClass('active')
+
+ this.$element.toggleClass('active')
+ }
+
+ }
+
+
+ /* BUTTON PLUGIN DEFINITION
+ * ======================== */
+
+ $.fn.button = function ( option ) {
+ return this.each(function () {
+ var $this = $(this)
+ , data = $this.data('button')
+ , options = typeof option == 'object' && option
+ if (!data) $this.data('button', (data = new Button(this, options)))
+ if (option == 'toggle') data.toggle()
+ else if (option) data.setState(option)
+ })
+ }
+
+ $.fn.button.defaults = {
+ loadingText: 'loading...'
+ }
+
+ $.fn.button.Constructor = Button
+
+
+ /* BUTTON DATA-API
+ * =============== */
+
+ $(function () {
+ $('body').on('click.button.data-api', '[data-toggle^=button]', function ( e ) {
+ $(e.target).button('toggle')
+ })
+ })
+
+}( window.jQuery )
+/* ==========================================================
+ * bootstrap-carousel.js v2.0.0
+ * http://twitter.github.com/bootstrap/javascript.html#carousel
+ * ==========================================================
+ * Copyright 2012 Twitter, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ========================================================== */
+
+
+!function( $ ){
+
+ "use strict"
+
+ /* CAROUSEL CLASS DEFINITION
+ * ========================= */
+
+ var Carousel = function (element, options) {
+ this.$element = $(element)
+ this.options = $.extend({}, $.fn.carousel.defaults, options)
+ this.options.slide && this.slide(this.options.slide)
+ }
+
+ Carousel.prototype = {
+
+ cycle: function () {
+ this.interval = setInterval($.proxy(this.next, this), this.options.interval)
+ return this
+ }
+
+ , to: function (pos) {
+ var $active = this.$element.find('.active')
+ , children = $active.parent().children()
+ , activePos = children.index($active)
+ , that = this
+
+ if (pos > (children.length - 1) || pos < 0) return
+
+ if (this.sliding) {
+ return this.$element.one('slid', function () {
+ that.to(pos)
+ })
+ }
+
+ if (activePos == pos) {
+ return this.pause().cycle()
+ }
+
+ return this.slide(pos > activePos ? 'next' : 'prev', $(children[pos]))
+ }
+
+ , pause: function () {
+ clearInterval(this.interval)
+ return this
+ }
+
+ , next: function () {
+ if (this.sliding) return
+ return this.slide('next')
+ }
+
+ , prev: function () {
+ if (this.sliding) return
+ return this.slide('prev')
+ }
+
+ , slide: function (type, next) {
+ var $active = this.$element.find('.active')
+ , $next = next || $active[type]()
+ , isCycling = this.interval
+ , direction = type == 'next' ? 'left' : 'right'
+ , fallback = type == 'next' ? 'first' : 'last'
+ , that = this
+
+ this.sliding = true
+
+ isCycling && this.pause()
+
+ $next = $next.length ? $next : this.$element.find('.item')[fallback]()
+
+ if (!$.support.transition && this.$element.hasClass('slide')) {
+ this.$element.trigger('slide')
+ $active.removeClass('active')
+ $next.addClass('active')
+ this.sliding = false
+ this.$element.trigger('slid')
+ } else {
+ $next.addClass(type)
+ $next[0].offsetWidth // force reflow
+ $active.addClass(direction)
+ $next.addClass(direction)
+ this.$element.trigger('slide')
+ this.$element.one($.support.transition.end, function () {
+ $next.removeClass([type, direction].join(' ')).addClass('active')
+ $active.removeClass(['active', direction].join(' '))
+ that.sliding = false
+ setTimeout(function () { that.$element.trigger('slid') }, 0)
+ })
+ }
+
+ isCycling && this.cycle()
+
+ return this
+ }
+
+ }
+
+
+ /* CAROUSEL PLUGIN DEFINITION
+ * ========================== */
+
+ $.fn.carousel = function ( option ) {
+ return this.each(function () {
+ var $this = $(this)
+ , data = $this.data('carousel')
+ , options = typeof option == 'object' && option
+ if (!data) $this.data('carousel', (data = new Carousel(this, options)))
+ if (typeof option == 'number') data.to(option)
+ else if (typeof option == 'string' || (option = options.slide)) data[option]()
+ else data.cycle()
+ })
+ }
+
+ $.fn.carousel.defaults = {
+ interval: 5000
+ }
+
+ $.fn.carousel.Constructor = Carousel
+
+
+ /* CAROUSEL DATA-API
+ * ================= */
+
+ $(function () {
+ $('body').on('click.carousel.data-api', '[data-slide]', function ( e ) {
+ var $this = $(this), href
+ , $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7
+ , options = !$target.data('modal') && $.extend({}, $target.data(), $this.data())
+ $target.carousel(options)
+ e.preventDefault()
+ })
+ })
+
+}( window.jQuery )
+/* =============================================================
+ * bootstrap-collapse.js v2.0.0
+ * http://twitter.github.com/bootstrap/javascript.html#collapse
+ * =============================================================
+ * Copyright 2012 Twitter, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============================================================ */
+
+!function( $ ){
+
+ "use strict"
+
+ var Collapse = function ( element, options ) {
+ this.$element = $(element)
+ this.options = $.extend({}, $.fn.collapse.defaults, options)
+
+ if (this.options["parent"]) {
+ this.$parent = $(this.options["parent"])
+ }
+
+ this.options.toggle && this.toggle()
+ }
+
+ Collapse.prototype = {
+
+ constructor: Collapse
+
+ , dimension: function () {
+ var hasWidth = this.$element.hasClass('width')
+ return hasWidth ? 'width' : 'height'
+ }
+
+ , show: function () {
+ var dimension = this.dimension()
+ , scroll = $.camelCase(['scroll', dimension].join('-'))
+ , actives = this.$parent && this.$parent.find('.in')
+ , hasData
+
+ if (actives && actives.length) {
+ hasData = actives.data('collapse')
+ actives.collapse('hide')
+ hasData || actives.data('collapse', null)
+ }
+
+ this.$element[dimension](0)
+ this.transition('addClass', 'show', 'shown')
+ this.$element[dimension](this.$element[0][scroll])
+
+ }
+
+ , hide: function () {
+ var dimension = this.dimension()
+ this.reset(this.$element[dimension]())
+ this.transition('removeClass', 'hide', 'hidden')
+ this.$element[dimension](0)
+ }
+
+ , reset: function ( size ) {
+ var dimension = this.dimension()
+
+ this.$element
+ .removeClass('collapse')
+ [dimension](size || 'auto')
+ [0].offsetWidth
+
+ this.$element.addClass('collapse')
+ }
+
+ , transition: function ( method, startEvent, completeEvent ) {
+ var that = this
+ , complete = function () {
+ if (startEvent == 'show') that.reset()
+ that.$element.trigger(completeEvent)
+ }
+
+ this.$element
+ .trigger(startEvent)
+ [method]('in')
+
+ $.support.transition && this.$element.hasClass('collapse') ?
+ this.$element.one($.support.transition.end, complete) :
+ complete()
+ }
+
+ , toggle: function () {
+ this[this.$element.hasClass('in') ? 'hide' : 'show']()
+ }
+
+ }
+
+ /* COLLAPSIBLE PLUGIN DEFINITION
+ * ============================== */
+
+ $.fn.collapse = function ( option ) {
+ return this.each(function () {
+ var $this = $(this)
+ , data = $this.data('collapse')
+ , options = typeof option == 'object' && option
+ if (!data) $this.data('collapse', (data = new Collapse(this, options)))
+ if (typeof option == 'string') data[option]()
+ })
+ }
+
+ $.fn.collapse.defaults = {
+ toggle: true
+ }
+
+ $.fn.collapse.Constructor = Collapse
+
+
+ /* COLLAPSIBLE DATA-API
+ * ==================== */
+
+ $(function () {
+ $('body').on('click.collapse.data-api', '[data-toggle=collapse]', function ( e ) {
+ var $this = $(this), href
+ , target = $this.attr('data-target')
+ || e.preventDefault()
+ || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') //strip for ie7
+ , option = $(target).data('collapse') ? 'toggle' : $this.data()
+ $(target).collapse(option)
+ })
+ })
+
+}( window.jQuery )
+/* ============================================================
+ * bootstrap-dropdown.js v2.0.0
+ * http://twitter.github.com/bootstrap/javascript.html#dropdowns
+ * ============================================================
+ * Copyright 2012 Twitter, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============================================================ */
+
+
+!function( $ ){
+
+ "use strict"
+
+ /* DROPDOWN CLASS DEFINITION
+ * ========================= */
+
+ var toggle = '[data-toggle="dropdown"]'
+ , Dropdown = function ( element ) {
+ var $el = $(element).on('click.dropdown.data-api', this.toggle)
+ $('html').on('click.dropdown.data-api', function () {
+ $el.parent().removeClass('open')
+ })
+ }
+
+ Dropdown.prototype = {
+
+ constructor: Dropdown
+
+ , toggle: function ( e ) {
+ var $this = $(this)
+ , selector = $this.attr('data-target')
+ , $parent
+ , isActive
+
+ if (!selector) {
+ selector = $this.attr('href')
+ selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7
+ }
+
+ $parent = $(selector)
+ $parent.length || ($parent = $this.parent())
+
+ isActive = $parent.hasClass('open')
+
+ clearMenus()
+ !isActive && $parent.toggleClass('open')
+
+ return false
+ }
+
+ }
+
+ function clearMenus() {
+ $(toggle).parent().removeClass('open')
+ }
+
+
+ /* DROPDOWN PLUGIN DEFINITION
+ * ========================== */
+
+ $.fn.dropdown = function ( option ) {
+ return this.each(function () {
+ var $this = $(this)
+ , data = $this.data('dropdown')
+ if (!data) $this.data('dropdown', (data = new Dropdown(this)))
+ if (typeof option == 'string') data[option].call($this)
+ })
+ }
+
+ $.fn.dropdown.Constructor = Dropdown
+
+
+ /* APPLY TO STANDARD DROPDOWN ELEMENTS
+ * =================================== */
+
+ $(function () {
+ $('html').on('click.dropdown.data-api', clearMenus)
+ $('body').on('click.dropdown.data-api', toggle, Dropdown.prototype.toggle)
+ })
+
+}( window.jQuery )
+/* =========================================================
+ * bootstrap-modal.js v2.0.0
+ * http://twitter.github.com/bootstrap/javascript.html#modals
+ * =========================================================
+ * Copyright 2012 Twitter, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ========================================================= */
+
+
+!function( $ ){
+
+ "use strict"
+
+ /* MODAL CLASS DEFINITION
+ * ====================== */
+
+ var Modal = function ( content, options ) {
+ this.options = $.extend({}, $.fn.modal.defaults, options)
+ this.$element = $(content)
+ .delegate('[data-dismiss="modal"]', 'click.dismiss.modal', $.proxy(this.hide, this))
+ }
+
+ Modal.prototype = {
+
+ constructor: Modal
+
+ , toggle: function () {
+ return this[!this.isShown ? 'show' : 'hide']()
+ }
+
+ , show: function () {
+ var that = this
+
+ if (this.isShown) return
+
+ $('body').addClass('modal-open')
+
+ this.isShown = true
+ this.$element.trigger('show')
+
+ escape.call(this)
+ backdrop.call(this, function () {
+ var transition = $.support.transition && that.$element.hasClass('fade')
+
+ !that.$element.parent().length && that.$element.appendTo(document.body) //don't move modals dom position
+
+ that.$element
+ .show()
+
+ if (transition) {
+ that.$element[0].offsetWidth // force reflow
+ }
+
+ that.$element.addClass('in')
+
+ transition ?
+ that.$element.one($.support.transition.end, function () { that.$element.trigger('shown') }) :
+ that.$element.trigger('shown')
+
+ })
+ }
+
+ , hide: function ( e ) {
+ e && e.preventDefault()
+
+ if (!this.isShown) return
+
+ var that = this
+ this.isShown = false
+
+ $('body').removeClass('modal-open')
+
+ escape.call(this)
+
+ this.$element
+ .trigger('hide')
+ .removeClass('in')
+
+ $.support.transition && this.$element.hasClass('fade') ?
+ hideWithTransition.call(this) :
+ hideModal.call(this)
+ }
+
+ }
+
+
+ /* MODAL PRIVATE METHODS
+ * ===================== */
+
+ function hideWithTransition() {
+ var that = this
+ , timeout = setTimeout(function () {
+ that.$element.off($.support.transition.end)
+ hideModal.call(that)
+ }, 500)
+
+ this.$element.one($.support.transition.end, function () {
+ clearTimeout(timeout)
+ hideModal.call(that)
+ })
+ }
+
+ function hideModal( that ) {
+ this.$element
+ .hide()
+ .trigger('hidden')
+
+ backdrop.call(this)
+ }
+
+ function backdrop( callback ) {
+ var that = this
+ , animate = this.$element.hasClass('fade') ? 'fade' : ''
+
+ if (this.isShown && this.options.backdrop) {
+ var doAnimate = $.support.transition && animate
+
+ this.$backdrop = $('
')
+ .appendTo(document.body)
+
+ if (this.options.backdrop != 'static') {
+ this.$backdrop.click($.proxy(this.hide, this))
+ }
+
+ if (doAnimate) this.$backdrop[0].offsetWidth // force reflow
+
+ this.$backdrop.addClass('in')
+
+ doAnimate ?
+ this.$backdrop.one($.support.transition.end, callback) :
+ callback()
+
+ } else if (!this.isShown && this.$backdrop) {
+ this.$backdrop.removeClass('in')
+
+ $.support.transition && this.$element.hasClass('fade')?
+ this.$backdrop.one($.support.transition.end, $.proxy(removeBackdrop, this)) :
+ removeBackdrop.call(this)
+
+ } else if (callback) {
+ callback()
+ }
+ }
+
+ function removeBackdrop() {
+ this.$backdrop.remove()
+ this.$backdrop = null
+ }
+
+ function escape() {
+ var that = this
+ if (this.isShown && this.options.keyboard) {
+ $(document).on('keyup.dismiss.modal', function ( e ) {
+ e.which == 27 && that.hide()
+ })
+ } else if (!this.isShown) {
+ $(document).off('keyup.dismiss.modal')
+ }
+ }
+
+
+ /* MODAL PLUGIN DEFINITION
+ * ======================= */
+
+ $.fn.modal = function ( option ) {
+ return this.each(function () {
+ var $this = $(this)
+ , data = $this.data('modal')
+ , options = typeof option == 'object' && option
+ if (!data) $this.data('modal', (data = new Modal(this, options)))
+ if (typeof option == 'string') data[option]()
+ else data.show()
+ })
+ }
+
+ $.fn.modal.defaults = {
+ backdrop: true
+ , keyboard: true
+ }
+
+ $.fn.modal.Constructor = Modal
+
+
+ /* MODAL DATA-API
+ * ============== */
+
+ $(function () {
+ $('body').on('click.modal.data-api', '[data-toggle="modal"]', function ( e ) {
+ var $this = $(this), href
+ , $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7
+ , option = $target.data('modal') ? 'toggle' : $.extend({}, $target.data(), $this.data())
+
+ e.preventDefault()
+ $target.modal(option)
+ })
+ })
+
+}( window.jQuery )
+/* ===========================================================
+ * bootstrap-tooltip.js v2.0.0
+ * http://twitter.github.com/bootstrap/javascript.html#tooltips
+ * Inspired by the original jQuery.tipsy by Jason Frame
+ * ===========================================================
+ * Copyright 2012 Twitter, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ========================================================== */
+
+!function( $ ) {
+
+ "use strict"
+
+ /* TOOLTIP PUBLIC CLASS DEFINITION
+ * =============================== */
+
+ var Tooltip = function ( element, options ) {
+ this.init('tooltip', element, options)
+ }
+
+ Tooltip.prototype = {
+
+ constructor: Tooltip
+
+ , init: function ( type, element, options ) {
+ var eventIn
+ , eventOut
+
+ this.type = type
+ this.$element = $(element)
+ this.options = this.getOptions(options)
+ this.enabled = true
+
+ if (this.options.trigger != 'manual') {
+ eventIn = this.options.trigger == 'hover' ? 'mouseenter' : 'focus'
+ eventOut = this.options.trigger == 'hover' ? 'mouseleave' : 'blur'
+ this.$element.on(eventIn, this.options.selector, $.proxy(this.enter, this))
+ this.$element.on(eventOut, this.options.selector, $.proxy(this.leave, this))
+ }
+
+ this.options.selector ?
+ (this._options = $.extend({}, this.options, { trigger: 'manual', selector: '' })) :
+ this.fixTitle()
+ }
+
+ , getOptions: function ( options ) {
+ options = $.extend({}, $.fn[this.type].defaults, options, this.$element.data())
+
+ if (options.delay && typeof options.delay == 'number') {
+ options.delay = {
+ show: options.delay
+ , hide: options.delay
+ }
+ }
+
+ return options
+ }
+
+ , enter: function ( e ) {
+ var self = $(e.currentTarget)[this.type](this._options).data(this.type)
+
+ if (!self.options.delay || !self.options.delay.show) {
+ self.show()
+ } else {
+ self.hoverState = 'in'
+ setTimeout(function() {
+ if (self.hoverState == 'in') {
+ self.show()
+ }
+ }, self.options.delay.show)
+ }
+ }
+
+ , leave: function ( e ) {
+ var self = $(e.currentTarget)[this.type](this._options).data(this.type)
+
+ if (!self.options.delay || !self.options.delay.hide) {
+ self.hide()
+ } else {
+ self.hoverState = 'out'
+ setTimeout(function() {
+ if (self.hoverState == 'out') {
+ self.hide()
+ }
+ }, self.options.delay.hide)
+ }
+ }
+
+ , show: function () {
+ var $tip
+ , inside
+ , pos
+ , actualWidth
+ , actualHeight
+ , placement
+ , tp
+
+ if (this.hasContent() && this.enabled) {
+ $tip = this.tip()
+ this.setContent()
+
+ if (this.options.animation) {
+ $tip.addClass('fade')
+ }
+
+ placement = typeof this.options.placement == 'function' ?
+ this.options.placement.call(this, $tip[0], this.$element[0]) :
+ this.options.placement
+
+ inside = /in/.test(placement)
+
+ $tip
+ .remove()
+ .css({ top: 0, left: 0, display: 'block' })
+ .appendTo(inside ? this.$element : document.body)
+
+ pos = this.getPosition(inside)
+
+ actualWidth = $tip[0].offsetWidth
+ actualHeight = $tip[0].offsetHeight
+
+ switch (inside ? placement.split(' ')[1] : placement) {
+ case 'bottom':
+ tp = {top: pos.top + pos.height, left: pos.left + pos.width / 2 - actualWidth / 2}
+ break
+ case 'top':
+ tp = {top: pos.top - actualHeight, left: pos.left + pos.width / 2 - actualWidth / 2}
+ break
+ case 'left':
+ tp = {top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth}
+ break
+ case 'right':
+ tp = {top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left + pos.width}
+ break
+ }
+
+ $tip
+ .css(tp)
+ .addClass(placement)
+ .addClass('in')
+ }
+ }
+
+ , setContent: function () {
+ var $tip = this.tip()
+ $tip.find('.tooltip-inner').html(this.getTitle())
+ $tip.removeClass('fade in top bottom left right')
+ }
+
+ , hide: function () {
+ var that = this
+ , $tip = this.tip()
+
+ $tip.removeClass('in')
+
+ function removeWithAnimation() {
+ var timeout = setTimeout(function () {
+ $tip.off($.support.transition.end).remove()
+ }, 500)
+
+ $tip.one($.support.transition.end, function () {
+ clearTimeout(timeout)
+ $tip.remove()
+ })
+ }
+
+ $.support.transition && this.$tip.hasClass('fade') ?
+ removeWithAnimation() :
+ $tip.remove()
+ }
+
+ , fixTitle: function () {
+ var $e = this.$element
+ if ($e.attr('title') || typeof($e.attr('data-original-title')) != 'string') {
+ $e.attr('data-original-title', $e.attr('title') || '').removeAttr('title')
+ }
+ }
+
+ , hasContent: function () {
+ return this.getTitle()
+ }
+
+ , getPosition: function (inside) {
+ return $.extend({}, (inside ? {top: 0, left: 0} : this.$element.offset()), {
+ width: this.$element[0].offsetWidth
+ , height: this.$element[0].offsetHeight
+ })
+ }
+
+ , getTitle: function () {
+ var title
+ , $e = this.$element
+ , o = this.options
+
+ title = $e.attr('data-original-title')
+ || (typeof o.title == 'function' ? o.title.call($e[0]) : o.title)
+
+ title = title.toString().replace(/(^\s*|\s*$)/, "")
+
+ return title
+ }
+
+ , tip: function () {
+ return this.$tip = this.$tip || $(this.options.template)
+ }
+
+ , validate: function () {
+ if (!this.$element[0].parentNode) {
+ this.hide()
+ this.$element = null
+ this.options = null
+ }
+ }
+
+ , enable: function () {
+ this.enabled = true
+ }
+
+ , disable: function () {
+ this.enabled = false
+ }
+
+ , toggleEnabled: function () {
+ this.enabled = !this.enabled
+ }
+
+ , toggle: function () {
+ this[this.tip().hasClass('in') ? 'hide' : 'show']()
+ }
+
+ }
+
+
+ /* TOOLTIP PLUGIN DEFINITION
+ * ========================= */
+
+ $.fn.tooltip = function ( option ) {
+ return this.each(function () {
+ var $this = $(this)
+ , data = $this.data('tooltip')
+ , options = typeof option == 'object' && option
+ if (!data) $this.data('tooltip', (data = new Tooltip(this, options)))
+ if (typeof option == 'string') data[option]()
+ })
+ }
+
+ $.fn.tooltip.Constructor = Tooltip
+
+ $.fn.tooltip.defaults = {
+ animation: true
+ , delay: 0
+ , selector: false
+ , placement: 'top'
+ , trigger: 'hover'
+ , title: ''
+ , template: ''
+ }
+
+}( window.jQuery )
+/* ===========================================================
+ * bootstrap-popover.js v2.0.0
+ * http://twitter.github.com/bootstrap/javascript.html#popovers
+ * ===========================================================
+ * Copyright 2012 Twitter, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * =========================================================== */
+
+
+!function( $ ) {
+
+ "use strict"
+
+ var Popover = function ( element, options ) {
+ this.init('popover', element, options)
+ }
+
+ /* NOTE: POPOVER EXTENDS BOOTSTRAP-TOOLTIP.js
+ ========================================== */
+
+ Popover.prototype = $.extend({}, $.fn.tooltip.Constructor.prototype, {
+
+ constructor: Popover
+
+ , setContent: function () {
+ var $tip = this.tip()
+ , title = this.getTitle()
+ , content = this.getContent()
+
+ $tip.find('.popover-title')[ $.type(title) == 'object' ? 'append' : 'html' ](title)
+ $tip.find('.popover-content > *')[ $.type(content) == 'object' ? 'append' : 'html' ](content)
+
+ $tip.removeClass('fade top bottom left right in')
+ }
+
+ , hasContent: function () {
+ return this.getTitle() || this.getContent()
+ }
+
+ , getContent: function () {
+ var content
+ , $e = this.$element
+ , o = this.options
+
+ content = $e.attr('data-content')
+ || (typeof o.content == 'function' ? o.content.call($e[0]) : o.content)
+
+ content = content.toString().replace(/(^\s*|\s*$)/, "")
+
+ return content
+ }
+
+ , tip: function() {
+ if (!this.$tip) {
+ this.$tip = $(this.options.template)
+ }
+ return this.$tip
+ }
+
+ })
+
+
+ /* POPOVER PLUGIN DEFINITION
+ * ======================= */
+
+ $.fn.popover = function ( option ) {
+ return this.each(function () {
+ var $this = $(this)
+ , data = $this.data('popover')
+ , options = typeof option == 'object' && option
+ if (!data) $this.data('popover', (data = new Popover(this, options)))
+ if (typeof option == 'string') data[option]()
+ })
+ }
+
+ $.fn.popover.Constructor = Popover
+
+ $.fn.popover.defaults = $.extend({} , $.fn.tooltip.defaults, {
+ placement: 'right'
+ , content: ''
+ , template: ''
+ })
+
+}( window.jQuery )
+/* =============================================================
+ * bootstrap-scrollspy.js v2.0.0
+ * http://twitter.github.com/bootstrap/javascript.html#scrollspy
+ * =============================================================
+ * Copyright 2012 Twitter, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============================================================== */
+
+!function ( $ ) {
+
+ "use strict"
+
+ /* SCROLLSPY CLASS DEFINITION
+ * ========================== */
+
+ function ScrollSpy( element, options) {
+ var process = $.proxy(this.process, this)
+ , $element = $(element).is('body') ? $(window) : $(element)
+ , href
+ this.options = $.extend({}, $.fn.scrollspy.defaults, options)
+ this.$scrollElement = $element.on('scroll.scroll.data-api', process)
+ this.selector = (this.options.target
+ || ((href = $(element).attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7
+ || '') + ' .nav li > a'
+ this.$body = $('body').on('click.scroll.data-api', this.selector, process)
+ this.refresh()
+ this.process()
+ }
+
+ ScrollSpy.prototype = {
+
+ constructor: ScrollSpy
+
+ , refresh: function () {
+ this.targets = this.$body
+ .find(this.selector)
+ .map(function () {
+ var href = $(this).attr('href')
+ return /^#\w/.test(href) && $(href).length ? href : null
+ })
+
+ this.offsets = $.map(this.targets, function (id) {
+ return $(id).position().top
+ })
+ }
+
+ , process: function () {
+ var scrollTop = this.$scrollElement.scrollTop() + this.options.offset
+ , offsets = this.offsets
+ , targets = this.targets
+ , activeTarget = this.activeTarget
+ , i
+
+ for (i = offsets.length; i--;) {
+ activeTarget != targets[i]
+ && scrollTop >= offsets[i]
+ && (!offsets[i + 1] || scrollTop <= offsets[i + 1])
+ && this.activate( targets[i] )
+ }
+ }
+
+ , activate: function (target) {
+ var active
+
+ this.activeTarget = target
+
+ this.$body
+ .find(this.selector).parent('.active')
+ .removeClass('active')
+
+ active = this.$body
+ .find(this.selector + '[href="' + target + '"]')
+ .parent('li')
+ .addClass('active')
+
+ if ( active.parent('.dropdown-menu') ) {
+ active.closest('li.dropdown').addClass('active')
+ }
+ }
+
+ }
+
+
+ /* SCROLLSPY PLUGIN DEFINITION
+ * =========================== */
+
+ $.fn.scrollspy = function ( option ) {
+ return this.each(function () {
+ var $this = $(this)
+ , data = $this.data('scrollspy')
+ , options = typeof option == 'object' && option
+ if (!data) $this.data('scrollspy', (data = new ScrollSpy(this, options)))
+ if (typeof option == 'string') data[option]()
+ })
+ }
+
+ $.fn.scrollspy.Constructor = ScrollSpy
+
+ $.fn.scrollspy.defaults = {
+ offset: 10
+ }
+
+
+ /* SCROLLSPY DATA-API
+ * ================== */
+
+ $(function () {
+ $('[data-spy="scroll"]').each(function () {
+ var $spy = $(this)
+ $spy.scrollspy($spy.data())
+ })
+ })
+
+}( window.jQuery )
+/* ========================================================
+ * bootstrap-tab.js v2.0.0
+ * http://twitter.github.com/bootstrap/javascript.html#tabs
+ * ========================================================
+ * Copyright 2012 Twitter, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ======================================================== */
+
+
+!function( $ ){
+
+ "use strict"
+
+ /* TAB CLASS DEFINITION
+ * ==================== */
+
+ var Tab = function ( element ) {
+ this.element = $(element)
+ }
+
+ Tab.prototype = {
+
+ constructor: Tab
+
+ , show: function () {
+ var $this = this.element
+ , $ul = $this.closest('ul:not(.dropdown-menu)')
+ , selector = $this.attr('data-target')
+ , previous
+ , $target
+
+ if (!selector) {
+ selector = $this.attr('href')
+ selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7
+ }
+
+ if ( $this.parent('li').hasClass('active') ) return
+
+ previous = $ul.find('.active a').last()[0]
+
+ $this.trigger({
+ type: 'show'
+ , relatedTarget: previous
+ })
+
+ $target = $(selector)
+
+ this.activate($this.parent('li'), $ul)
+ this.activate($target, $target.parent(), function () {
+ $this.trigger({
+ type: 'shown'
+ , relatedTarget: previous
+ })
+ })
+ }
+
+ , activate: function ( element, container, callback) {
+ var $active = container.find('> .active')
+ , transition = callback
+ && $.support.transition
+ && $active.hasClass('fade')
+
+ function next() {
+ $active
+ .removeClass('active')
+ .find('> .dropdown-menu > .active')
+ .removeClass('active')
+
+ element.addClass('active')
+
+ if (transition) {
+ element[0].offsetWidth // reflow for transition
+ element.addClass('in')
+ } else {
+ element.removeClass('fade')
+ }
+
+ if ( element.parent('.dropdown-menu') ) {
+ element.closest('li.dropdown').addClass('active')
+ }
+
+ callback && callback()
+ }
+
+ transition ?
+ $active.one($.support.transition.end, next) :
+ next()
+
+ $active.removeClass('in')
+ }
+ }
+
+
+ /* TAB PLUGIN DEFINITION
+ * ===================== */
+
+ $.fn.tab = function ( option ) {
+ return this.each(function () {
+ var $this = $(this)
+ , data = $this.data('tab')
+ if (!data) $this.data('tab', (data = new Tab(this)))
+ if (typeof option == 'string') data[option]()
+ })
+ }
+
+ $.fn.tab.Constructor = Tab
+
+
+ /* TAB DATA-API
+ * ============ */
+
+ $(function () {
+ $('body').on('click.tab.data-api', '[data-toggle="tab"], [data-toggle="pill"]', function (e) {
+ e.preventDefault()
+ $(this).tab('show')
+ })
+ })
+
+}( window.jQuery )
+/* =============================================================
+ * bootstrap-typeahead.js v2.0.0
+ * http://twitter.github.com/bootstrap/javascript.html#typeahead
+ * =============================================================
+ * Copyright 2012 Twitter, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============================================================ */
+
+!function( $ ){
+
+ "use strict"
+
+ var Typeahead = function ( element, options ) {
+ this.$element = $(element)
+ this.options = $.extend({}, $.fn.typeahead.defaults, options)
+ this.matcher = this.options.matcher || this.matcher
+ this.sorter = this.options.sorter || this.sorter
+ this.highlighter = this.options.highlighter || this.highlighter
+ this.$menu = $(this.options.menu).appendTo('body')
+ this.source = this.options.source
+ this.shown = false
+ this.listen()
+ }
+
+ Typeahead.prototype = {
+
+ constructor: Typeahead
+
+ , select: function () {
+ var val = this.$menu.find('.active').attr('data-value')
+ this.$element.val(val)
+ return this.hide()
+ }
+
+ , show: function () {
+ var pos = $.extend({}, this.$element.offset(), {
+ height: this.$element[0].offsetHeight
+ })
+
+ this.$menu.css({
+ top: pos.top + pos.height
+ , left: pos.left
+ })
+
+ this.$menu.show()
+ this.shown = true
+ return this
+ }
+
+ , hide: function () {
+ this.$menu.hide()
+ this.shown = false
+ return this
+ }
+
+ , lookup: function (event) {
+ var that = this
+ , items
+ , q
+
+ this.query = this.$element.val()
+
+ if (!this.query) {
+ return this.shown ? this.hide() : this
+ }
+
+ items = $.grep(this.source, function (item) {
+ if (that.matcher(item)) return item
+ })
+
+ items = this.sorter(items)
+
+ if (!items.length) {
+ return this.shown ? this.hide() : this
+ }
+
+ return this.render(items.slice(0, this.options.items)).show()
+ }
+
+ , matcher: function (item) {
+ return ~item.toLowerCase().indexOf(this.query.toLowerCase())
+ }
+
+ , sorter: function (items) {
+ var beginswith = []
+ , caseSensitive = []
+ , caseInsensitive = []
+ , item
+
+ while (item = items.shift()) {
+ if (!item.toLowerCase().indexOf(this.query.toLowerCase())) beginswith.push(item)
+ else if (~item.indexOf(this.query)) caseSensitive.push(item)
+ else caseInsensitive.push(item)
+ }
+
+ return beginswith.concat(caseSensitive, caseInsensitive)
+ }
+
+ , highlighter: function (item) {
+ return item.replace(new RegExp('(' + this.query + ')', 'ig'), function ($1, match) {
+ return '' + match + ' '
+ })
+ }
+
+ , render: function (items) {
+ var that = this
+
+ items = $(items).map(function (i, item) {
+ i = $(that.options.item).attr('data-value', item)
+ i.find('a').html(that.highlighter(item))
+ return i[0]
+ })
+
+ items.first().addClass('active')
+ this.$menu.html(items)
+ return this
+ }
+
+ , next: function (event) {
+ var active = this.$menu.find('.active').removeClass('active')
+ , next = active.next()
+
+ if (!next.length) {
+ next = $(this.$menu.find('li')[0])
+ }
+
+ next.addClass('active')
+ }
+
+ , prev: function (event) {
+ var active = this.$menu.find('.active').removeClass('active')
+ , prev = active.prev()
+
+ if (!prev.length) {
+ prev = this.$menu.find('li').last()
+ }
+
+ prev.addClass('active')
+ }
+
+ , listen: function () {
+ this.$element
+ .on('blur', $.proxy(this.blur, this))
+ .on('keypress', $.proxy(this.keypress, this))
+ .on('keyup', $.proxy(this.keyup, this))
+
+ if ($.browser.webkit || $.browser.msie) {
+ this.$element.on('keydown', $.proxy(this.keypress, this))
+ }
+
+ this.$menu
+ .on('click', $.proxy(this.click, this))
+ .on('mouseenter', 'li', $.proxy(this.mouseenter, this))
+ }
+
+ , keyup: function (e) {
+ e.stopPropagation()
+ e.preventDefault()
+
+ switch(e.keyCode) {
+ case 40: // down arrow
+ case 38: // up arrow
+ break
+
+ case 9: // tab
+ case 13: // enter
+ if (!this.shown) return
+ this.select()
+ break
+
+ case 27: // escape
+ this.hide()
+ break
+
+ default:
+ this.lookup()
+ }
+
+ }
+
+ , keypress: function (e) {
+ e.stopPropagation()
+ if (!this.shown) return
+
+ switch(e.keyCode) {
+ case 9: // tab
+ case 13: // enter
+ case 27: // escape
+ e.preventDefault()
+ break
+
+ case 38: // up arrow
+ e.preventDefault()
+ this.prev()
+ break
+
+ case 40: // down arrow
+ e.preventDefault()
+ this.next()
+ break
+ }
+ }
+
+ , blur: function (e) {
+ var that = this
+ e.stopPropagation()
+ e.preventDefault()
+ setTimeout(function () { that.hide() }, 150)
+ }
+
+ , click: function (e) {
+ e.stopPropagation()
+ e.preventDefault()
+ this.select()
+ }
+
+ , mouseenter: function (e) {
+ this.$menu.find('.active').removeClass('active')
+ $(e.currentTarget).addClass('active')
+ }
+
+ }
+
+
+ /* TYPEAHEAD PLUGIN DEFINITION
+ * =========================== */
+
+ $.fn.typeahead = function ( option ) {
+ return this.each(function () {
+ var $this = $(this)
+ , data = $this.data('typeahead')
+ , options = typeof option == 'object' && option
+ if (!data) $this.data('typeahead', (data = new Typeahead(this, options)))
+ if (typeof option == 'string') data[option]()
+ })
+ }
+
+ $.fn.typeahead.defaults = {
+ source: []
+ , items: 8
+ , menu: ''
+ , item: ' '
+ }
+
+ $.fn.typeahead.Constructor = Typeahead
+
+
+ /* TYPEAHEAD DATA-API
+ * ================== */
+
+ $(function () {
+ $('body').on('focus.typeahead.data-api', '[data-provide="typeahead"]', function (e) {
+ var $this = $(this)
+ if ($this.data('typeahead')) return
+ e.preventDefault()
+ $this.typeahead($this.data())
+ })
+ })
+
+}( window.jQuery )
diff --git a/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/js/bootstrap.min.js b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/js/bootstrap.min.js
new file mode 100644
index 0000000..1f295a1
--- /dev/null
+++ b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/js/bootstrap.min.js
@@ -0,0 +1 @@
+!function(a){a(function(){"use strict",a.support.transition=function(){var b=document.body||document.documentElement,c=b.style,d=c.transition!==undefined||c.WebkitTransition!==undefined||c.MozTransition!==undefined||c.MsTransition!==undefined||c.OTransition!==undefined;return d&&{end:function(){var b="TransitionEnd";return a.browser.webkit?b="webkitTransitionEnd":a.browser.mozilla?b="transitionend":a.browser.opera&&(b="oTransitionEnd"),b}()}}()})}(window.jQuery),!function(a){"use strict";var b='[data-dismiss="alert"]',c=function(c){a(c).on("click",b,this.close)};c.prototype={constructor:c,close:function(b){function f(){e.remove(),e.trigger("closed")}var c=a(this),d=c.attr("data-target"),e;d||(d=c.attr("href"),d=d&&d.replace(/.*(?=#[^\s]*$)/,"")),e=a(d),e.trigger("close"),b&&b.preventDefault(),e.length||(e=c.hasClass("alert")?c:c.parent()),e.removeClass("in"),a.support.transition&&e.hasClass("fade")?e.on(a.support.transition.end,f):f()}},a.fn.alert=function(b){return this.each(function(){var d=a(this),e=d.data("alert");e||d.data("alert",e=new c(this)),typeof b=="string"&&e[b].call(d)})},a.fn.alert.Constructor=c,a(function(){a("body").on("click.alert.data-api",b,c.prototype.close)})}(window.jQuery),!function(a){"use strict";var b=function(b,c){this.$element=a(b),this.options=a.extend({},a.fn.button.defaults,c)};b.prototype={constructor:b,setState:function(a){var b="disabled",c=this.$element,d=c.data(),e=c.is("input")?"val":"html";a+="Text",d.resetText||c.data("resetText",c[e]()),c[e](d[a]||this.options[a]),setTimeout(function(){a=="loadingText"?c.addClass(b).attr(b,b):c.removeClass(b).removeAttr(b)},0)},toggle:function(){var a=this.$element.parent('[data-toggle="buttons-radio"]');a&&a.find(".active").removeClass("active"),this.$element.toggleClass("active")}},a.fn.button=function(c){return this.each(function(){var d=a(this),e=d.data("button"),f=typeof c=="object"&&c;e||d.data("button",e=new b(this,f)),c=="toggle"?e.toggle():c&&e.setState(c)})},a.fn.button.defaults={loadingText:"loading..."},a.fn.button.Constructor=b,a(function(){a("body").on("click.button.data-api","[data-toggle^=button]",function(b){a(b.target).button("toggle")})})}(window.jQuery),!function(a){"use strict";var b=function(b,c){this.$element=a(b),this.options=a.extend({},a.fn.carousel.defaults,c),this.options.slide&&this.slide(this.options.slide)};b.prototype={cycle:function(){return this.interval=setInterval(a.proxy(this.next,this),this.options.interval),this},to:function(b){var c=this.$element.find(".active"),d=c.parent().children(),e=d.index(c),f=this;if(b>d.length-1||b<0)return;return this.sliding?this.$element.one("slid",function(){f.to(b)}):e==b?this.pause().cycle():this.slide(b>e?"next":"prev",a(d[b]))},pause:function(){return clearInterval(this.interval),this},next:function(){if(this.sliding)return;return this.slide("next")},prev:function(){if(this.sliding)return;return this.slide("prev")},slide:function(b,c){var d=this.$element.find(".active"),e=c||d[b](),f=this.interval,g=b=="next"?"left":"right",h=b=="next"?"first":"last",i=this;return this.sliding=!0,f&&this.pause(),e=e.length?e:this.$element.find(".item")[h](),!a.support.transition&&this.$element.hasClass("slide")?(this.$element.trigger("slide"),d.removeClass("active"),e.addClass("active"),this.sliding=!1,this.$element.trigger("slid")):(e.addClass(b),e[0].offsetWidth,d.addClass(g),e.addClass(g),this.$element.trigger("slide"),this.$element.one(a.support.transition.end,function(){e.removeClass([b,g].join(" ")).addClass("active"),d.removeClass(["active",g].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger("slid")},0)})),f&&this.cycle(),this}},a.fn.carousel=function(c){return this.each(function(){var d=a(this),e=d.data("carousel"),f=typeof c=="object"&&c;e||d.data("carousel",e=new b(this,f)),typeof c=="number"?e.to(c):typeof c=="string"||(c=f.slide)?e[c]():e.cycle()})},a.fn.carousel.defaults={interval:5e3},a.fn.carousel.Constructor=b,a(function(){a("body").on("click.carousel.data-api","[data-slide]",function(b){var c=a(this),d,e=a(c.attr("data-target")||(d=c.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,"")),f=!e.data("modal")&&a.extend({},e.data(),c.data());e.carousel(f),b.preventDefault()})})}(window.jQuery),!function(a){"use strict";var b=function(b,c){this.$element=a(b),this.options=a.extend({},a.fn.collapse.defaults,c),this.options.parent&&(this.$parent=a(this.options.parent)),this.options.toggle&&this.toggle()};b.prototype={constructor:b,dimension:function(){var a=this.$element.hasClass("width");return a?"width":"height"},show:function(){var b=this.dimension(),c=a.camelCase(["scroll",b].join("-")),d=this.$parent&&this.$parent.find(".in"),e;d&&d.length&&(e=d.data("collapse"),d.collapse("hide"),e||d.data("collapse",null)),this.$element[b](0),this.transition("addClass","show","shown"),this.$element[b](this.$element[0][c])},hide:function(){var a=this.dimension();this.reset(this.$element[a]()),this.transition("removeClass","hide","hidden"),this.$element[a](0)},reset:function(a){var b=this.dimension();this.$element.removeClass("collapse")[b](a||"auto")[0].offsetWidth,this.$element.addClass("collapse")},transition:function(b,c,d){var e=this,f=function(){c=="show"&&e.reset(),e.$element.trigger(d)};this.$element.trigger(c)[b]("in"),a.support.transition&&this.$element.hasClass("collapse")?this.$element.one(a.support.transition.end,f):f()},toggle:function(){this[this.$element.hasClass("in")?"hide":"show"]()}},a.fn.collapse=function(c){return this.each(function(){var d=a(this),e=d.data("collapse"),f=typeof c=="object"&&c;e||d.data("collapse",e=new b(this,f)),typeof c=="string"&&e[c]()})},a.fn.collapse.defaults={toggle:!0},a.fn.collapse.Constructor=b,a(function(){a("body").on("click.collapse.data-api","[data-toggle=collapse]",function(b){var c=a(this),d,e=c.attr("data-target")||b.preventDefault()||(d=c.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""),f=a(e).data("collapse")?"toggle":c.data();a(e).collapse(f)})})}(window.jQuery),!function(a){function d(){a(b).parent().removeClass("open")}"use strict";var b='[data-toggle="dropdown"]',c=function(b){var c=a(b).on("click.dropdown.data-api",this.toggle);a("html").on("click.dropdown.data-api",function(){c.parent().removeClass("open")})};c.prototype={constructor:c,toggle:function(b){var c=a(this),e=c.attr("data-target"),f,g;return e||(e=c.attr("href"),e=e&&e.replace(/.*(?=#[^\s]*$)/,"")),f=a(e),f.length||(f=c.parent()),g=f.hasClass("open"),d(),!g&&f.toggleClass("open"),!1}},a.fn.dropdown=function(b){return this.each(function(){var d=a(this),e=d.data("dropdown");e||d.data("dropdown",e=new c(this)),typeof b=="string"&&e[b].call(d)})},a.fn.dropdown.Constructor=c,a(function(){a("html").on("click.dropdown.data-api",d),a("body").on("click.dropdown.data-api",b,c.prototype.toggle)})}(window.jQuery),!function(a){function c(){var b=this,c=setTimeout(function(){b.$element.off(a.support.transition.end),d.call(b)},500);this.$element.one(a.support.transition.end,function(){clearTimeout(c),d.call(b)})}function d(a){this.$element.hide().trigger("hidden"),e.call(this)}function e(b){var c=this,d=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var e=a.support.transition&&d;this.$backdrop=a('
').appendTo(document.body),this.options.backdrop!="static"&&this.$backdrop.click(a.proxy(this.hide,this)),e&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),e?this.$backdrop.one(a.support.transition.end,b):b()}else!this.isShown&&this.$backdrop?(this.$backdrop.removeClass("in"),a.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one(a.support.transition.end,a.proxy(f,this)):f.call(this)):b&&b()}function f(){this.$backdrop.remove(),this.$backdrop=null}function g(){var b=this;this.isShown&&this.options.keyboard?a(document).on("keyup.dismiss.modal",function(a){a.which==27&&b.hide()}):this.isShown||a(document).off("keyup.dismiss.modal")}"use strict";var b=function(b,c){this.options=a.extend({},a.fn.modal.defaults,c),this.$element=a(b).delegate('[data-dismiss="modal"]',"click.dismiss.modal",a.proxy(this.hide,this))};b.prototype={constructor:b,toggle:function(){return this[this.isShown?"hide":"show"]()},show:function(){var b=this;if(this.isShown)return;a("body").addClass("modal-open"),this.isShown=!0,this.$element.trigger("show"),g.call(this),e.call(this,function(){var c=a.support.transition&&b.$element.hasClass("fade");!b.$element.parent().length&&b.$element.appendTo(document.body),b.$element.show(),c&&b.$element[0].offsetWidth,b.$element.addClass("in"),c?b.$element.one(a.support.transition.end,function(){b.$element.trigger("shown")}):b.$element.trigger("shown")})},hide:function(b){b&&b.preventDefault();if(!this.isShown)return;var e=this;this.isShown=!1,a("body").removeClass("modal-open"),g.call(this),this.$element.trigger("hide").removeClass("in"),a.support.transition&&this.$element.hasClass("fade")?c.call(this):d.call(this)}},a.fn.modal=function(c){return this.each(function(){var d=a(this),e=d.data("modal"),f=typeof c=="object"&&c;e||d.data("modal",e=new b(this,f)),typeof c=="string"?e[c]():e.show()})},a.fn.modal.defaults={backdrop:!0,keyboard:!0},a.fn.modal.Constructor=b,a(function(){a("body").on("click.modal.data-api",'[data-toggle="modal"]',function(b){var c=a(this),d,e=a(c.attr("data-target")||(d=c.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,"")),f=e.data("modal")?"toggle":a.extend({},e.data(),c.data());b.preventDefault(),e.modal(f)})})}(window.jQuery),!function(a){"use strict";var b=function(a,b){this.init("tooltip",a,b)};b.prototype={constructor:b,init:function(b,c,d){var e,f;this.type=b,this.$element=a(c),this.options=this.getOptions(d),this.enabled=!0,this.options.trigger!="manual"&&(e=this.options.trigger=="hover"?"mouseenter":"focus",f=this.options.trigger=="hover"?"mouseleave":"blur",this.$element.on(e,this.options.selector,a.proxy(this.enter,this)),this.$element.on(f,this.options.selector,a.proxy(this.leave,this))),this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},getOptions:function(b){return b=a.extend({},a.fn[this.type].defaults,b,this.$element.data()),b.delay&&typeof b.delay=="number"&&(b.delay={show:b.delay,hide:b.delay}),b},enter:function(b){var c=a(b.currentTarget)[this.type](this._options).data(this.type);!c.options.delay||!c.options.delay.show?c.show():(c.hoverState="in",setTimeout(function(){c.hoverState=="in"&&c.show()},c.options.delay.show))},leave:function(b){var c=a(b.currentTarget)[this.type](this._options).data(this.type);!c.options.delay||!c.options.delay.hide?c.hide():(c.hoverState="out",setTimeout(function(){c.hoverState=="out"&&c.hide()},c.options.delay.hide))},show:function(){var a,b,c,d,e,f,g;if(this.hasContent()&&this.enabled){a=this.tip(),this.setContent(),this.options.animation&&a.addClass("fade"),f=typeof this.options.placement=="function"?this.options.placement.call(this,a[0],this.$element[0]):this.options.placement,b=/in/.test(f),a.remove().css({top:0,left:0,display:"block"}).appendTo(b?this.$element:document.body),c=this.getPosition(b),d=a[0].offsetWidth,e=a[0].offsetHeight;switch(b?f.split(" ")[1]:f){case"bottom":g={top:c.top+c.height,left:c.left+c.width/2-d/2};break;case"top":g={top:c.top-e,left:c.left+c.width/2-d/2};break;case"left":g={top:c.top+c.height/2-e/2,left:c.left-d};break;case"right":g={top:c.top+c.height/2-e/2,left:c.left+c.width}}a.css(g).addClass(f).addClass("in")}},setContent:function(){var a=this.tip();a.find(".tooltip-inner").html(this.getTitle()),a.removeClass("fade in top bottom left right")},hide:function(){function d(){var b=setTimeout(function(){c.off(a.support.transition.end).remove()},500);c.one(a.support.transition.end,function(){clearTimeout(b),c.remove()})}var b=this,c=this.tip();c.removeClass("in"),a.support.transition&&this.$tip.hasClass("fade")?d():c.remove()},fixTitle:function(){var a=this.$element;(a.attr("title")||typeof a.attr("data-original-title")!="string")&&a.attr("data-original-title",a.attr("title")||"").removeAttr("title")},hasContent:function(){return this.getTitle()},getPosition:function(b){return a.extend({},b?{top:0,left:0}:this.$element.offset(),{width:this.$element[0].offsetWidth,height:this.$element[0].offsetHeight})},getTitle:function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||(typeof c.title=="function"?c.title.call(b[0]):c.title),a=a.toString().replace(/(^\s*|\s*$)/,""),a},tip:function(){return this.$tip=this.$tip||a(this.options.template)},validate:function(){this.$element[0].parentNode||(this.hide(),this.$element=null,this.options=null)},enable:function(){this.enabled=!0},disable:function(){this.enabled=!1},toggleEnabled:function(){this.enabled=!this.enabled},toggle:function(){this[this.tip().hasClass("in")?"hide":"show"]()}},a.fn.tooltip=function(c){return this.each(function(){var d=a(this),e=d.data("tooltip"),f=typeof c=="object"&&c;e||d.data("tooltip",e=new b(this,f)),typeof c=="string"&&e[c]()})},a.fn.tooltip.Constructor=b,a.fn.tooltip.defaults={animation:!0,delay:0,selector:!1,placement:"top",trigger:"hover",title:"",template:''}}(window.jQuery),!function(a){"use strict";var b=function(a,b){this.init("popover",a,b)};b.prototype=a.extend({},a.fn.tooltip.Constructor.prototype,{constructor:b,setContent:function(){var b=this.tip(),c=this.getTitle(),d=this.getContent();b.find(".popover-title")[a.type(c)=="object"?"append":"html"](c),b.find(".popover-content > *")[a.type(d)=="object"?"append":"html"](d),b.removeClass("fade top bottom left right in")},hasContent:function(){return this.getTitle()||this.getContent()},getContent:function(){var a,b=this.$element,c=this.options;return a=b.attr("data-content")||(typeof c.content=="function"?c.content.call(b[0]):c.content),a=a.toString().replace(/(^\s*|\s*$)/,""),a},tip:function(){return this.$tip||(this.$tip=a(this.options.template)),this.$tip}}),a.fn.popover=function(c){return this.each(function(){var d=a(this),e=d.data("popover"),f=typeof c=="object"&&c;e||d.data("popover",e=new b(this,f)),typeof c=="string"&&e[c]()})},a.fn.popover.Constructor=b,a.fn.popover.defaults=a.extend({},a.fn.tooltip.defaults,{placement:"right",content:"",template:''})}(window.jQuery),!function(a){function b(b,c){var d=a.proxy(this.process,this),e=a(b).is("body")?a(window):a(b),f;this.options=a.extend({},a.fn.scrollspy.defaults,c),this.$scrollElement=e.on("scroll.scroll.data-api",d),this.selector=(this.options.target||(f=a(b).attr("href"))&&f.replace(/.*(?=#[^\s]+$)/,"")||"")+" .nav li > a",this.$body=a("body").on("click.scroll.data-api",this.selector,d),this.refresh(),this.process()}"use strict",b.prototype={constructor:b,refresh:function(){this.targets=this.$body.find(this.selector).map(function(){var b=a(this).attr("href");return/^#\w/.test(b)&&a(b).length?b:null}),this.offsets=a.map(this.targets,function(b){return a(b).position().top})},process:function(){var a=this.$scrollElement.scrollTop()+this.options.offset,b=this.offsets,c=this.targets,d=this.activeTarget,e;for(e=b.length;e--;)d!=c[e]&&a>=b[e]&&(!b[e+1]||a<=b[e+1])&&this.activate(c[e])},activate:function(a){var b;this.activeTarget=a,this.$body.find(this.selector).parent(".active").removeClass("active"),b=this.$body.find(this.selector+'[href="'+a+'"]').parent("li").addClass("active"),b.parent(".dropdown-menu")&&b.closest("li.dropdown").addClass("active")}},a.fn.scrollspy=function(c){return this.each(function(){var d=a(this),e=d.data("scrollspy"),f=typeof c=="object"&&c;e||d.data("scrollspy",e=new b(this,f)),typeof c=="string"&&e[c]()})},a.fn.scrollspy.Constructor=b,a.fn.scrollspy.defaults={offset:10},a(function(){a('[data-spy="scroll"]').each(function(){var b=a(this);b.scrollspy(b.data())})})}(window.jQuery),!function(a){"use strict";var b=function(b){this.element=a(b)};b.prototype={constructor:b,show:function(){var b=this.element,c=b.closest("ul:not(.dropdown-menu)"),d=b.attr("data-target"),e,f;d||(d=b.attr("href"),d=d&&d.replace(/.*(?=#[^\s]*$)/,""));if(b.parent("li").hasClass("active"))return;e=c.find(".active a").last()[0],b.trigger({type:"show",relatedTarget:e}),f=a(d),this.activate(b.parent("li"),c),this.activate(f,f.parent(),function(){b.trigger({type:"shown",relatedTarget:e})})},activate:function(b,c,d){function g(){e.removeClass("active").find("> .dropdown-menu > .active").removeClass("active"),b.addClass("active"),f?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu")&&b.closest("li.dropdown").addClass("active"),d&&d()}var e=c.find("> .active"),f=d&&a.support.transition&&e.hasClass("fade");f?e.one(a.support.transition.end,g):g(),e.removeClass("in")}},a.fn.tab=function(c){return this.each(function(){var d=a(this),e=d.data("tab");e||d.data("tab",e=new b(this)),typeof c=="string"&&e[c]()})},a.fn.tab.Constructor=b,a(function(){a("body").on("click.tab.data-api",'[data-toggle="tab"], [data-toggle="pill"]',function(b){b.preventDefault(),a(this).tab("show")})})}(window.jQuery),!function(a){"use strict";var b=function(b,c){this.$element=a(b),this.options=a.extend({},a.fn.typeahead.defaults,c),this.matcher=this.options.matcher||this.matcher,this.sorter=this.options.sorter||this.sorter,this.highlighter=this.options.highlighter||this.highlighter,this.$menu=a(this.options.menu).appendTo("body"),this.source=this.options.source,this.shown=!1,this.listen()};b.prototype={constructor:b,select:function(){var a=this.$menu.find(".active").attr("data-value");return this.$element.val(a),this.hide()},show:function(){var b=a.extend({},this.$element.offset(),{height:this.$element[0].offsetHeight});return this.$menu.css({top:b.top+b.height,left:b.left}),this.$menu.show(),this.shown=!0,this},hide:function(){return this.$menu.hide(),this.shown=!1,this},lookup:function(b){var c=this,d,e;return this.query=this.$element.val(),this.query?(d=a.grep(this.source,function(a){if(c.matcher(a))return a}),d=this.sorter(d),d.length?this.render(d.slice(0,this.options.items)).show():this.shown?this.hide():this):this.shown?this.hide():this},matcher:function(a){return~a.toLowerCase().indexOf(this.query.toLowerCase())},sorter:function(a){var b=[],c=[],d=[],e;while(e=a.shift())e.toLowerCase().indexOf(this.query.toLowerCase())?~e.indexOf(this.query)?c.push(e):d.push(e):b.push(e);return b.concat(c,d)},highlighter:function(a){return a.replace(new RegExp("("+this.query+")","ig"),function(a,b){return""+b+" "})},render:function(b){var c=this;return b=a(b).map(function(b,d){return b=a(c.options.item).attr("data-value",d),b.find("a").html(c.highlighter(d)),b[0]}),b.first().addClass("active"),this.$menu.html(b),this},next:function(b){var c=this.$menu.find(".active").removeClass("active"),d=c.next();d.length||(d=a(this.$menu.find("li")[0])),d.addClass("active")},prev:function(a){var b=this.$menu.find(".active").removeClass("active"),c=b.prev();c.length||(c=this.$menu.find("li").last()),c.addClass("active")},listen:function(){this.$element.on("blur",a.proxy(this.blur,this)).on("keypress",a.proxy(this.keypress,this)).on("keyup",a.proxy(this.keyup,this)),(a.browser.webkit||a.browser.msie)&&this.$element.on("keydown",a.proxy(this.keypress,this)),this.$menu.on("click",a.proxy(this.click,this)).on("mouseenter","li",a.proxy(this.mouseenter,this))},keyup:function(a){a.stopPropagation(),a.preventDefault();switch(a.keyCode){case 40:case 38:break;case 9:case 13:if(!this.shown)return;this.select();break;case 27:this.hide();break;default:this.lookup()}},keypress:function(a){a.stopPropagation();if(!this.shown)return;switch(a.keyCode){case 9:case 13:case 27:a.preventDefault();break;case 38:a.preventDefault(),this.prev();break;case 40:a.preventDefault(),this.next()}},blur:function(a){var b=this;a.stopPropagation(),a.preventDefault(),setTimeout(function(){b.hide()},150)},click:function(a){a.stopPropagation(),a.preventDefault(),this.select()},mouseenter:function(b){this.$menu.find(".active").removeClass("active"),a(b.currentTarget).addClass("active")}},a.fn.typeahead=function(c){return this.each(function(){var d=a(this),e=d.data("typeahead"),f=typeof c=="object"&&c;e||d.data("typeahead",e=new b(this,f)),typeof c=="string"&&e[c]()})},a.fn.typeahead.defaults={source:[],items:8,menu:'',item:' '},a.fn.typeahead.Constructor=b,a(function(){a("body").on("focus.typeahead.data-api",'[data-provide="typeahead"]',function(b){var c=a(this);if(c.data("typeahead"))return;b.preventDefault(),c.typeahead(c.data())})})}(window.jQuery);
\ No newline at end of file
diff --git a/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/js/jquery-1.4.2.min.js b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/js/jquery-1.4.2.min.js
new file mode 100644
index 0000000..7c24308
--- /dev/null
+++ b/frontend/web/count_form/app/lib/PHPMailer_5.2.4/docs/phpdoc/js/jquery-1.4.2.min.js
@@ -0,0 +1,154 @@
+/*!
+ * jQuery JavaScript Library v1.4.2
+ * http://jquery.com/
+ *
+ * Copyright 2010, John Resig
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * Includes Sizzle.js
+ * http://sizzlejs.com/
+ * Copyright 2010, The Dojo Foundation
+ * Released under the MIT, BSD, and GPL Licenses.
+ *
+ * Date: Sat Feb 13 22:33:48 2010 -0500
+ */
+(function(A,w){function ma(){if(!c.isReady){try{s.documentElement.doScroll("left")}catch(a){setTimeout(ma,1);return}c.ready()}}function Qa(a,b){b.src?c.ajax({url:b.src,async:false,dataType:"script"}):c.globalEval(b.text||b.textContent||b.innerHTML||"");b.parentNode&&b.parentNode.removeChild(b)}function X(a,b,d,f,e,j){var i=a.length;if(typeof b==="object"){for(var o in b)X(a,o,b[o],f,e,d);return a}if(d!==w){f=!j&&f&&c.isFunction(d);for(o=0;o)[^>]*$|^#([\w-]+)$/,Ua=/^.[^:#\[\.,]*$/,Va=/\S/,
+Wa=/^(\s|\u00A0)+|(\s|\u00A0)+$/g,Xa=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,P=navigator.userAgent,xa=false,Q=[],L,$=Object.prototype.toString,aa=Object.prototype.hasOwnProperty,ba=Array.prototype.push,R=Array.prototype.slice,ya=Array.prototype.indexOf;c.fn=c.prototype={init:function(a,b){var d,f;if(!a)return this;if(a.nodeType){this.context=this[0]=a;this.length=1;return this}if(a==="body"&&!b){this.context=s;this[0]=s.body;this.selector="body";this.length=1;return this}if(typeof a==="string")if((d=Ta.exec(a))&&
+(d[1]||!b))if(d[1]){f=b?b.ownerDocument||b:s;if(a=Xa.exec(a))if(c.isPlainObject(b)){a=[s.createElement(a[1])];c.fn.attr.call(a,b,true)}else a=[f.createElement(a[1])];else{a=sa([d[1]],[f]);a=(a.cacheable?a.fragment.cloneNode(true):a.fragment).childNodes}return c.merge(this,a)}else{if(b=s.getElementById(d[2])){if(b.id!==d[2])return T.find(a);this.length=1;this[0]=b}this.context=s;this.selector=a;return this}else if(!b&&/^\w+$/.test(a)){this.selector=a;this.context=s;a=s.getElementsByTagName(a);return c.merge(this,
+a)}else return!b||b.jquery?(b||T).find(a):c(b).find(a);else if(c.isFunction(a))return T.ready(a);if(a.selector!==w){this.selector=a.selector;this.context=a.context}return c.makeArray(a,this)},selector:"",jquery:"1.4.2",length:0,size:function(){return this.length},toArray:function(){return R.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this.slice(a)[0]:this[a]},pushStack:function(a,b,d){var f=c();c.isArray(a)?ba.apply(f,a):c.merge(f,a);f.prevObject=this;f.context=this.context;if(b===
+"find")f.selector=this.selector+(this.selector?" ":"")+d;else if(b)f.selector=this.selector+"."+b+"("+d+")";return f},each:function(a,b){return c.each(this,a,b)},ready:function(a){c.bindReady();if(c.isReady)a.call(s,c);else Q&&Q.push(a);return this},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(R.apply(this,arguments),"slice",R.call(arguments).join(","))},map:function(a){return this.pushStack(c.map(this,
+function(b,d){return a.call(b,d,b)}))},end:function(){return this.prevObject||c(null)},push:ba,sort:[].sort,splice:[].splice};c.fn.init.prototype=c.fn;c.extend=c.fn.extend=function(){var a=arguments[0]||{},b=1,d=arguments.length,f=false,e,j,i,o;if(typeof a==="boolean"){f=a;a=arguments[1]||{};b=2}if(typeof a!=="object"&&!c.isFunction(a))a={};if(d===b){a=this;--b}for(;ba ";
+var e=d.getElementsByTagName("*"),j=d.getElementsByTagName("a")[0];if(!(!e||!e.length||!j)){c.support={leadingWhitespace:d.firstChild.nodeType===3,tbody:!d.getElementsByTagName("tbody").length,htmlSerialize:!!d.getElementsByTagName("link").length,style:/red/.test(j.getAttribute("style")),hrefNormalized:j.getAttribute("href")==="/a",opacity:/^0.55$/.test(j.style.opacity),cssFloat:!!j.style.cssFloat,checkOn:d.getElementsByTagName("input")[0].value==="on",optSelected:s.createElement("select").appendChild(s.createElement("option")).selected,
+parentNode:d.removeChild(d.appendChild(s.createElement("div"))).parentNode===null,deleteExpando:true,checkClone:false,scriptEval:false,noCloneEvent:true,boxModel:null};b.type="text/javascript";try{b.appendChild(s.createTextNode("window."+f+"=1;"))}catch(i){}a.insertBefore(b,a.firstChild);if(A[f]){c.support.scriptEval=true;delete A[f]}try{delete b.test}catch(o){c.support.deleteExpando=false}a.removeChild(b);if(d.attachEvent&&d.fireEvent){d.attachEvent("onclick",function k(){c.support.noCloneEvent=
+false;d.detachEvent("onclick",k)});d.cloneNode(true).fireEvent("onclick")}d=s.createElement("div");d.innerHTML=" ";a=s.createDocumentFragment();a.appendChild(d.firstChild);c.support.checkClone=a.cloneNode(true).cloneNode(true).lastChild.checked;c(function(){var k=s.createElement("div");k.style.width=k.style.paddingLeft="1px";s.body.appendChild(k);c.boxModel=c.support.boxModel=k.offsetWidth===2;s.body.removeChild(k).style.display="none"});a=function(k){var n=
+s.createElement("div");k="on"+k;var r=k in n;if(!r){n.setAttribute(k,"return;");r=typeof n[k]==="function"}return r};c.support.submitBubbles=a("submit");c.support.changeBubbles=a("change");a=b=d=e=j=null}})();c.props={"for":"htmlFor","class":"className",readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",colspan:"colSpan",tabindex:"tabIndex",usemap:"useMap",frameborder:"frameBorder"};var G="jQuery"+J(),Ya=0,za={};c.extend({cache:{},expando:G,noData:{embed:true,object:true,
+applet:true},data:function(a,b,d){if(!(a.nodeName&&c.noData[a.nodeName.toLowerCase()])){a=a==A?za:a;var f=a[G],e=c.cache;if(!f&&typeof b==="string"&&d===w)return null;f||(f=++Ya);if(typeof b==="object"){a[G]=f;e[f]=c.extend(true,{},b)}else if(!e[f]){a[G]=f;e[f]={}}a=e[f];if(d!==w)a[b]=d;return typeof b==="string"?a[b]:a}},removeData:function(a,b){if(!(a.nodeName&&c.noData[a.nodeName.toLowerCase()])){a=a==A?za:a;var d=a[G],f=c.cache,e=f[d];if(b){if(e){delete e[b];c.isEmptyObject(e)&&c.removeData(a)}}else{if(c.support.deleteExpando)delete a[c.expando];
+else a.removeAttribute&&a.removeAttribute(c.expando);delete f[d]}}}});c.fn.extend({data:function(a,b){if(typeof a==="undefined"&&this.length)return c.data(this[0]);else if(typeof a==="object")return this.each(function(){c.data(this,a)});var d=a.split(".");d[1]=d[1]?"."+d[1]:"";if(b===w){var f=this.triggerHandler("getData"+d[1]+"!",[d[0]]);if(f===w&&this.length)f=c.data(this[0],a);return f===w&&d[1]?this.data(d[0]):f}else return this.trigger("setData"+d[1]+"!",[d[0],b]).each(function(){c.data(this,
+a,b)})},removeData:function(a){return this.each(function(){c.removeData(this,a)})}});c.extend({queue:function(a,b,d){if(a){b=(b||"fx")+"queue";var f=c.data(a,b);if(!d)return f||[];if(!f||c.isArray(d))f=c.data(a,b,c.makeArray(d));else f.push(d);return f}},dequeue:function(a,b){b=b||"fx";var d=c.queue(a,b),f=d.shift();if(f==="inprogress")f=d.shift();if(f){b==="fx"&&d.unshift("inprogress");f.call(a,function(){c.dequeue(a,b)})}}});c.fn.extend({queue:function(a,b){if(typeof a!=="string"){b=a;a="fx"}if(b===
+w)return c.queue(this[0],a);return this.each(function(){var d=c.queue(this,a,b);a==="fx"&&d[0]!=="inprogress"&&c.dequeue(this,a)})},dequeue:function(a){return this.each(function(){c.dequeue(this,a)})},delay:function(a,b){a=c.fx?c.fx.speeds[a]||a:a;b=b||"fx";return this.queue(b,function(){var d=this;setTimeout(function(){c.dequeue(d,b)},a)})},clearQueue:function(a){return this.queue(a||"fx",[])}});var Aa=/[\n\t]/g,ca=/\s+/,Za=/\r/g,$a=/href|src|style/,ab=/(button|input)/i,bb=/(button|input|object|select|textarea)/i,
+cb=/^(a|area)$/i,Ba=/radio|checkbox/;c.fn.extend({attr:function(a,b){return X(this,a,b,true,c.attr)},removeAttr:function(a){return this.each(function(){c.attr(this,a,"");this.nodeType===1&&this.removeAttribute(a)})},addClass:function(a){if(c.isFunction(a))return this.each(function(n){var r=c(this);r.addClass(a.call(this,n,r.attr("class")))});if(a&&typeof a==="string")for(var b=(a||"").split(ca),d=0,f=this.length;d-1)return true;return false},val:function(a){if(a===w){var b=this[0];if(b){if(c.nodeName(b,"option"))return(b.attributes.value||{}).specified?b.value:b.text;if(c.nodeName(b,"select")){var d=b.selectedIndex,f=[],e=b.options;b=b.type==="select-one";if(d<0)return null;var j=b?d:0;for(d=b?d+1:e.length;j=0;else if(c.nodeName(this,"select")){var u=c.makeArray(r);c("option",this).each(function(){this.selected=
+c.inArray(c(this).val(),u)>=0});if(!u.length)this.selectedIndex=-1}else this.value=r}})}});c.extend({attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(a,b,d,f){if(!a||a.nodeType===3||a.nodeType===8)return w;if(f&&b in c.attrFn)return c(a)[b](d);f=a.nodeType!==1||!c.isXMLDoc(a);var e=d!==w;b=f&&c.props[b]||b;if(a.nodeType===1){var j=$a.test(b);if(b in a&&f&&!j){if(e){b==="type"&&ab.test(a.nodeName)&&a.parentNode&&c.error("type property can't be changed");
+a[b]=d}if(c.nodeName(a,"form")&&a.getAttributeNode(b))return a.getAttributeNode(b).nodeValue;if(b==="tabIndex")return(b=a.getAttributeNode("tabIndex"))&&b.specified?b.value:bb.test(a.nodeName)||cb.test(a.nodeName)&&a.href?0:w;return a[b]}if(!c.support.style&&f&&b==="style"){if(e)a.style.cssText=""+d;return a.style.cssText}e&&a.setAttribute(b,""+d);a=!c.support.hrefNormalized&&f&&j?a.getAttribute(b,2):a.getAttribute(b);return a===null?w:a}return c.style(a,b,d)}});var O=/\.(.*)$/,db=function(a){return a.replace(/[^\w\s\.\|`]/g,
+function(b){return"\\"+b})};c.event={add:function(a,b,d,f){if(!(a.nodeType===3||a.nodeType===8)){if(a.setInterval&&a!==A&&!a.frameElement)a=A;var e,j;if(d.handler){e=d;d=e.handler}if(!d.guid)d.guid=c.guid++;if(j=c.data(a)){var i=j.events=j.events||{},o=j.handle;if(!o)j.handle=o=function(){return typeof c!=="undefined"&&!c.event.triggered?c.event.handle.apply(o.elem,arguments):w};o.elem=a;b=b.split(" ");for(var k,n=0,r;k=b[n++];){j=e?c.extend({},e):{handler:d,data:f};if(k.indexOf(".")>-1){r=k.split(".");
+k=r.shift();j.namespace=r.slice(0).sort().join(".")}else{r=[];j.namespace=""}j.type=k;j.guid=d.guid;var u=i[k],z=c.event.special[k]||{};if(!u){u=i[k]=[];if(!z.setup||z.setup.call(a,f,r,o)===false)if(a.addEventListener)a.addEventListener(k,o,false);else a.attachEvent&&a.attachEvent("on"+k,o)}if(z.add){z.add.call(a,j);if(!j.handler.guid)j.handler.guid=d.guid}u.push(j);c.event.global[k]=true}a=null}}},global:{},remove:function(a,b,d,f){if(!(a.nodeType===3||a.nodeType===8)){var e,j=0,i,o,k,n,r,u,z=c.data(a),
+C=z&&z.events;if(z&&C){if(b&&b.type){d=b.handler;b=b.type}if(!b||typeof b==="string"&&b.charAt(0)==="."){b=b||"";for(e in C)c.event.remove(a,e+b)}else{for(b=b.split(" ");e=b[j++];){n=e;i=e.indexOf(".")<0;o=[];if(!i){o=e.split(".");e=o.shift();k=new RegExp("(^|\\.)"+c.map(o.slice(0).sort(),db).join("\\.(?:.*\\.)?")+"(\\.|$)")}if(r=C[e])if(d){n=c.event.special[e]||{};for(B=f||0;B=0){a.type=
+e=e.slice(0,-1);a.exclusive=true}if(!d){a.stopPropagation();c.event.global[e]&&c.each(c.cache,function(){this.events&&this.events[e]&&c.event.trigger(a,b,this.handle.elem)})}if(!d||d.nodeType===3||d.nodeType===8)return w;a.result=w;a.target=d;b=c.makeArray(b);b.unshift(a)}a.currentTarget=d;(f=c.data(d,"handle"))&&f.apply(d,b);f=d.parentNode||d.ownerDocument;try{if(!(d&&d.nodeName&&c.noData[d.nodeName.toLowerCase()]))if(d["on"+e]&&d["on"+e].apply(d,b)===false)a.result=false}catch(j){}if(!a.isPropagationStopped()&&
+f)c.event.trigger(a,b,f,true);else if(!a.isDefaultPrevented()){f=a.target;var i,o=c.nodeName(f,"a")&&e==="click",k=c.event.special[e]||{};if((!k._default||k._default.call(d,a)===false)&&!o&&!(f&&f.nodeName&&c.noData[f.nodeName.toLowerCase()])){try{if(f[e]){if(i=f["on"+e])f["on"+e]=null;c.event.triggered=true;f[e]()}}catch(n){}if(i)f["on"+e]=i;c.event.triggered=false}}},handle:function(a){var b,d,f,e;a=arguments[0]=c.event.fix(a||A.event);a.currentTarget=this;b=a.type.indexOf(".")<0&&!a.exclusive;
+if(!b){d=a.type.split(".");a.type=d.shift();f=new RegExp("(^|\\.)"+d.slice(0).sort().join("\\.(?:.*\\.)?")+"(\\.|$)")}e=c.data(this,"events");d=e[a.type];if(e&&d){d=d.slice(0);e=0;for(var j=d.length;e-1?c.map(a.options,function(f){return f.selected}).join("-"):"";else if(a.nodeName.toLowerCase()==="select")d=a.selectedIndex;return d},fa=function(a,b){var d=a.target,f,e;if(!(!da.test(d.nodeName)||d.readOnly)){f=c.data(d,"_change_data");e=Fa(d);if(a.type!=="focusout"||d.type!=="radio")c.data(d,"_change_data",
+e);if(!(f===w||e===f))if(f!=null||e){a.type="change";return c.event.trigger(a,b,d)}}};c.event.special.change={filters:{focusout:fa,click:function(a){var b=a.target,d=b.type;if(d==="radio"||d==="checkbox"||b.nodeName.toLowerCase()==="select")return fa.call(this,a)},keydown:function(a){var b=a.target,d=b.type;if(a.keyCode===13&&b.nodeName.toLowerCase()!=="textarea"||a.keyCode===32&&(d==="checkbox"||d==="radio")||d==="select-multiple")return fa.call(this,a)},beforeactivate:function(a){a=a.target;c.data(a,
+"_change_data",Fa(a))}},setup:function(){if(this.type==="file")return false;for(var a in ea)c.event.add(this,a+".specialChange",ea[a]);return da.test(this.nodeName)},teardown:function(){c.event.remove(this,".specialChange");return da.test(this.nodeName)}};ea=c.event.special.change.filters}s.addEventListener&&c.each({focus:"focusin",blur:"focusout"},function(a,b){function d(f){f=c.event.fix(f);f.type=b;return c.event.handle.call(this,f)}c.event.special[b]={setup:function(){this.addEventListener(a,
+d,true)},teardown:function(){this.removeEventListener(a,d,true)}}});c.each(["bind","one"],function(a,b){c.fn[b]=function(d,f,e){if(typeof d==="object"){for(var j in d)this[b](j,f,d[j],e);return this}if(c.isFunction(f)){e=f;f=w}var i=b==="one"?c.proxy(e,function(k){c(this).unbind(k,i);return e.apply(this,arguments)}):e;if(d==="unload"&&b!=="one")this.one(d,f,e);else{j=0;for(var o=this.length;j0){y=t;break}}t=t[g]}m[q]=y}}}var f=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,
+e=0,j=Object.prototype.toString,i=false,o=true;[0,0].sort(function(){o=false;return 0});var k=function(g,h,l,m){l=l||[];var q=h=h||s;if(h.nodeType!==1&&h.nodeType!==9)return[];if(!g||typeof g!=="string")return l;for(var p=[],v,t,y,S,H=true,M=x(h),I=g;(f.exec(""),v=f.exec(I))!==null;){I=v[3];p.push(v[1]);if(v[2]){S=v[3];break}}if(p.length>1&&r.exec(g))if(p.length===2&&n.relative[p[0]])t=ga(p[0]+p[1],h);else for(t=n.relative[p[0]]?[h]:k(p.shift(),h);p.length;){g=p.shift();if(n.relative[g])g+=p.shift();
+t=ga(g,t)}else{if(!m&&p.length>1&&h.nodeType===9&&!M&&n.match.ID.test(p[0])&&!n.match.ID.test(p[p.length-1])){v=k.find(p.shift(),h,M);h=v.expr?k.filter(v.expr,v.set)[0]:v.set[0]}if(h){v=m?{expr:p.pop(),set:z(m)}:k.find(p.pop(),p.length===1&&(p[0]==="~"||p[0]==="+")&&h.parentNode?h.parentNode:h,M);t=v.expr?k.filter(v.expr,v.set):v.set;if(p.length>0)y=z(t);else H=false;for(;p.length;){var D=p.pop();v=D;if(n.relative[D])v=p.pop();else D="";if(v==null)v=h;n.relative[D](y,v,M)}}else y=[]}y||(y=t);y||k.error(D||
+g);if(j.call(y)==="[object Array]")if(H)if(h&&h.nodeType===1)for(g=0;y[g]!=null;g++){if(y[g]&&(y[g]===true||y[g].nodeType===1&&E(h,y[g])))l.push(t[g])}else for(g=0;y[g]!=null;g++)y[g]&&y[g].nodeType===1&&l.push(t[g]);else l.push.apply(l,y);else z(y,l);if(S){k(S,q,l,m);k.uniqueSort(l)}return l};k.uniqueSort=function(g){if(B){i=o;g.sort(B);if(i)for(var h=1;h":function(g,h){var l=typeof h==="string";if(l&&!/\W/.test(h)){h=h.toLowerCase();for(var m=0,q=g.length;m=0))l||m.push(v);else if(l)h[p]=false;return false},ID:function(g){return g[1].replace(/\\/g,"")},TAG:function(g){return g[1].toLowerCase()},
+CHILD:function(g){if(g[1]==="nth"){var h=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(g[2]==="even"&&"2n"||g[2]==="odd"&&"2n+1"||!/\D/.test(g[2])&&"0n+"+g[2]||g[2]);g[2]=h[1]+(h[2]||1)-0;g[3]=h[3]-0}g[0]=e++;return g},ATTR:function(g,h,l,m,q,p){h=g[1].replace(/\\/g,"");if(!p&&n.attrMap[h])g[1]=n.attrMap[h];if(g[2]==="~=")g[4]=" "+g[4]+" ";return g},PSEUDO:function(g,h,l,m,q){if(g[1]==="not")if((f.exec(g[3])||"").length>1||/^\w/.test(g[3]))g[3]=k(g[3],null,null,h);else{g=k.filter(g[3],h,l,true^q);l||m.push.apply(m,
+g);return false}else if(n.match.POS.test(g[0])||n.match.CHILD.test(g[0]))return true;return g},POS:function(g){g.unshift(true);return g}},filters:{enabled:function(g){return g.disabled===false&&g.type!=="hidden"},disabled:function(g){return g.disabled===true},checked:function(g){return g.checked===true},selected:function(g){return g.selected===true},parent:function(g){return!!g.firstChild},empty:function(g){return!g.firstChild},has:function(g,h,l){return!!k(l[3],g).length},header:function(g){return/h\d/i.test(g.nodeName)},
+text:function(g){return"text"===g.type},radio:function(g){return"radio"===g.type},checkbox:function(g){return"checkbox"===g.type},file:function(g){return"file"===g.type},password:function(g){return"password"===g.type},submit:function(g){return"submit"===g.type},image:function(g){return"image"===g.type},reset:function(g){return"reset"===g.type},button:function(g){return"button"===g.type||g.nodeName.toLowerCase()==="button"},input:function(g){return/input|select|textarea|button/i.test(g.nodeName)}},
+setFilters:{first:function(g,h){return h===0},last:function(g,h,l,m){return h===m.length-1},even:function(g,h){return h%2===0},odd:function(g,h){return h%2===1},lt:function(g,h,l){return hl[3]-0},nth:function(g,h,l){return l[3]-0===h},eq:function(g,h,l){return l[3]-0===h}},filter:{PSEUDO:function(g,h,l,m){var q=h[1],p=n.filters[q];if(p)return p(g,l,h,m);else if(q==="contains")return(g.textContent||g.innerText||a([g])||"").indexOf(h[3])>=0;else if(q==="not"){h=
+h[3];l=0;for(m=h.length;l=0}},ID:function(g,h){return g.nodeType===1&&g.getAttribute("id")===h},TAG:function(g,h){return h==="*"&&g.nodeType===1||g.nodeName.toLowerCase()===h},CLASS:function(g,h){return(" "+(g.className||g.getAttribute("class"))+" ").indexOf(h)>-1},ATTR:function(g,h){var l=h[1];g=n.attrHandle[l]?n.attrHandle[l](g):g[l]!=null?g[l]:g.getAttribute(l);l=g+"";var m=h[2];h=h[4];return g==null?m==="!=":m===
+"="?l===h:m==="*="?l.indexOf(h)>=0:m==="~="?(" "+l+" ").indexOf(h)>=0:!h?l&&g!==false:m==="!="?l!==h:m==="^="?l.indexOf(h)===0:m==="$="?l.substr(l.length-h.length)===h:m==="|="?l===h||l.substr(0,h.length+1)===h+"-":false},POS:function(g,h,l,m){var q=n.setFilters[h[2]];if(q)return q(g,l,h,m)}}},r=n.match.POS;for(var u in n.match){n.match[u]=new RegExp(n.match[u].source+/(?![^\[]*\])(?![^\(]*\))/.source);n.leftMatch[u]=new RegExp(/(^(?:.|\r|\n)*?)/.source+n.match[u].source.replace(/\\(\d+)/g,function(g,
+h){return"\\"+(h-0+1)}))}var z=function(g,h){g=Array.prototype.slice.call(g,0);if(h){h.push.apply(h,g);return h}return g};try{Array.prototype.slice.call(s.documentElement.childNodes,0)}catch(C){z=function(g,h){h=h||[];if(j.call(g)==="[object Array]")Array.prototype.push.apply(h,g);else if(typeof g.length==="number")for(var l=0,m=g.length;l ";var l=s.documentElement;l.insertBefore(g,l.firstChild);if(s.getElementById(h)){n.find.ID=function(m,q,p){if(typeof q.getElementById!=="undefined"&&!p)return(q=q.getElementById(m[1]))?q.id===m[1]||typeof q.getAttributeNode!=="undefined"&&
+q.getAttributeNode("id").nodeValue===m[1]?[q]:w:[]};n.filter.ID=function(m,q){var p=typeof m.getAttributeNode!=="undefined"&&m.getAttributeNode("id");return m.nodeType===1&&p&&p.nodeValue===q}}l.removeChild(g);l=g=null})();(function(){var g=s.createElement("div");g.appendChild(s.createComment(""));if(g.getElementsByTagName("*").length>0)n.find.TAG=function(h,l){l=l.getElementsByTagName(h[1]);if(h[1]==="*"){h=[];for(var m=0;l[m];m++)l[m].nodeType===1&&h.push(l[m]);l=h}return l};g.innerHTML=" ";
+if(g.firstChild&&typeof g.firstChild.getAttribute!=="undefined"&&g.firstChild.getAttribute("href")!=="#")n.attrHandle.href=function(h){return h.getAttribute("href",2)};g=null})();s.querySelectorAll&&function(){var g=k,h=s.createElement("div");h.innerHTML="
";if(!(h.querySelectorAll&&h.querySelectorAll(".TEST").length===0)){k=function(m,q,p,v){q=q||s;if(!v&&q.nodeType===9&&!x(q))try{return z(q.querySelectorAll(m),p)}catch(t){}return g(m,q,p,v)};for(var l in g)k[l]=g[l];h=null}}();
+(function(){var g=s.createElement("div");g.innerHTML="
";if(!(!g.getElementsByClassName||g.getElementsByClassName("e").length===0)){g.lastChild.className="e";if(g.getElementsByClassName("e").length!==1){n.order.splice(1,0,"CLASS");n.find.CLASS=function(h,l,m){if(typeof l.getElementsByClassName!=="undefined"&&!m)return l.getElementsByClassName(h[1])};g=null}}})();var E=s.compareDocumentPosition?function(g,h){return!!(g.compareDocumentPosition(h)&16)}:
+function(g,h){return g!==h&&(g.contains?g.contains(h):true)},x=function(g){return(g=(g?g.ownerDocument||g:0).documentElement)?g.nodeName!=="HTML":false},ga=function(g,h){var l=[],m="",q;for(h=h.nodeType?[h]:h;q=n.match.PSEUDO.exec(g);){m+=q[0];g=g.replace(n.match.PSEUDO,"")}g=n.relative[g]?g+"*":g;q=0;for(var p=h.length;q=0===d})};c.fn.extend({find:function(a){for(var b=this.pushStack("","find",a),d=0,f=0,e=this.length;f0)for(var j=d;j0},closest:function(a,b){if(c.isArray(a)){var d=[],f=this[0],e,j=
+{},i;if(f&&a.length){e=0;for(var o=a.length;e-1:c(f).is(e)){d.push({selector:i,elem:f});delete j[i]}}f=f.parentNode}}return d}var k=c.expr.match.POS.test(a)?c(a,b||this.context):null;return this.map(function(n,r){for(;r&&r.ownerDocument&&r!==b;){if(k?k.index(r)>-1:c(r).is(a))return r;r=r.parentNode}return null})},index:function(a){if(!a||typeof a===
+"string")return c.inArray(this[0],a?c(a):this.parent().children());return c.inArray(a.jquery?a[0]:a,this)},add:function(a,b){a=typeof a==="string"?c(a,b||this.context):c.makeArray(a);b=c.merge(this.get(),a);return this.pushStack(qa(a[0])||qa(b[0])?b:c.unique(b))},andSelf:function(){return this.add(this.prevObject)}});c.each({parent:function(a){return(a=a.parentNode)&&a.nodeType!==11?a:null},parents:function(a){return c.dir(a,"parentNode")},parentsUntil:function(a,b,d){return c.dir(a,"parentNode",
+d)},next:function(a){return c.nth(a,2,"nextSibling")},prev:function(a){return c.nth(a,2,"previousSibling")},nextAll:function(a){return c.dir(a,"nextSibling")},prevAll:function(a){return c.dir(a,"previousSibling")},nextUntil:function(a,b,d){return c.dir(a,"nextSibling",d)},prevUntil:function(a,b,d){return c.dir(a,"previousSibling",d)},siblings:function(a){return c.sibling(a.parentNode.firstChild,a)},children:function(a){return c.sibling(a.firstChild)},contents:function(a){return c.nodeName(a,"iframe")?
+a.contentDocument||a.contentWindow.document:c.makeArray(a.childNodes)}},function(a,b){c.fn[a]=function(d,f){var e=c.map(this,b,d);eb.test(a)||(f=d);if(f&&typeof f==="string")e=c.filter(f,e);e=this.length>1?c.unique(e):e;if((this.length>1||gb.test(f))&&fb.test(a))e=e.reverse();return this.pushStack(e,a,R.call(arguments).join(","))}});c.extend({filter:function(a,b,d){if(d)a=":not("+a+")";return c.find.matches(a,b)},dir:function(a,b,d){var f=[];for(a=a[b];a&&a.nodeType!==9&&(d===w||a.nodeType!==1||!c(a).is(d));){a.nodeType===
+1&&f.push(a);a=a[b]}return f},nth:function(a,b,d){b=b||1;for(var f=0;a;a=a[d])if(a.nodeType===1&&++f===b)break;return a},sibling:function(a,b){for(var d=[];a;a=a.nextSibling)a.nodeType===1&&a!==b&&d.push(a);return d}});var Ja=/ jQuery\d+="(?:\d+|null)"/g,V=/^\s+/,Ka=/(<([\w:]+)[^>]*?)\/>/g,hb=/^(?:area|br|col|embed|hr|img|input|link|meta|param)$/i,La=/<([\w:]+)/,ib=/"+d+">"},F={option:[1,""," "],legend:[1,""," "],thead:[1,""],tr:[2,""],td:[3,""],col:[2,""],area:[1,""," "],_default:[0,"",""]};F.optgroup=F.option;F.tbody=F.tfoot=F.colgroup=F.caption=F.thead;F.th=F.td;if(!c.support.htmlSerialize)F._default=[1,"div","
"];c.fn.extend({text:function(a){if(c.isFunction(a))return this.each(function(b){var d=
+c(this);d.text(a.call(this,b,d.text()))});if(typeof a!=="object"&&a!==w)return this.empty().append((this[0]&&this[0].ownerDocument||s).createTextNode(a));return c.text(this)},wrapAll:function(a){if(c.isFunction(a))return this.each(function(d){c(this).wrapAll(a.call(this,d))});if(this[0]){var b=c(a,this[0].ownerDocument).eq(0).clone(true);this[0].parentNode&&b.insertBefore(this[0]);b.map(function(){for(var d=this;d.firstChild&&d.firstChild.nodeType===1;)d=d.firstChild;return d}).append(this)}return this},
+wrapInner:function(a){if(c.isFunction(a))return this.each(function(b){c(this).wrapInner(a.call(this,b))});return this.each(function(){var b=c(this),d=b.contents();d.length?d.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){c(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){c.nodeName(this,"body")||c(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.appendChild(a)})},
+prepend:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b,this)});else if(arguments.length){var a=c(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b,
+this.nextSibling)});else if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,c(arguments[0]).toArray());return a}},remove:function(a,b){for(var d=0,f;(f=this[d])!=null;d++)if(!a||c.filter(a,[f]).length){if(!b&&f.nodeType===1){c.cleanData(f.getElementsByTagName("*"));c.cleanData([f])}f.parentNode&&f.parentNode.removeChild(f)}return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++)for(b.nodeType===1&&c.cleanData(b.getElementsByTagName("*"));b.firstChild;)b.removeChild(b.firstChild);
+return this},clone:function(a){var b=this.map(function(){if(!c.support.noCloneEvent&&!c.isXMLDoc(this)){var d=this.outerHTML,f=this.ownerDocument;if(!d){d=f.createElement("div");d.appendChild(this.cloneNode(true));d=d.innerHTML}return c.clean([d.replace(Ja,"").replace(/=([^="'>\s]+\/)>/g,'="$1">').replace(V,"")],f)[0]}else return this.cloneNode(true)});if(a===true){ra(this,b);ra(this.find("*"),b.find("*"))}return b},html:function(a){if(a===w)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(Ja,
+""):null;else if(typeof a==="string"&&!ta.test(a)&&(c.support.leadingWhitespace||!V.test(a))&&!F[(La.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Ka,Ma);try{for(var b=0,d=this.length;b0||e.cacheable||this.length>1?k.cloneNode(true):k)}o.length&&c.each(o,Qa)}return this}});c.fragments={};c.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){c.fn[a]=function(d){var f=[];d=c(d);var e=this.length===1&&this[0].parentNode;if(e&&e.nodeType===11&&e.childNodes.length===1&&d.length===1){d[b](this[0]);
+return this}else{e=0;for(var j=d.length;e0?this.clone(true):this).get();c.fn[b].apply(c(d[e]),i);f=f.concat(i)}return this.pushStack(f,a,d.selector)}}});c.extend({clean:function(a,b,d,f){b=b||s;if(typeof b.createElement==="undefined")b=b.ownerDocument||b[0]&&b[0].ownerDocument||s;for(var e=[],j=0,i;(i=a[j])!=null;j++){if(typeof i==="number")i+="";if(i){if(typeof i==="string"&&!jb.test(i))i=b.createTextNode(i);else if(typeof i==="string"){i=i.replace(Ka,Ma);var o=(La.exec(i)||["",
+""])[1].toLowerCase(),k=F[o]||F._default,n=k[0],r=b.createElement("div");for(r.innerHTML=k[1]+i+k[2];n--;)r=r.lastChild;if(!c.support.tbody){n=ib.test(i);o=o==="table"&&!n?r.firstChild&&r.firstChild.childNodes:k[1]===""&&!n?r.childNodes:[];for(k=o.length-1;k>=0;--k)c.nodeName(o[k],"tbody")&&!o[k].childNodes.length&&o[k].parentNode.removeChild(o[k])}!c.support.leadingWhitespace&&V.test(i)&&r.insertBefore(b.createTextNode(V.exec(i)[0]),r.firstChild);i=r.childNodes}if(i.nodeType)e.push(i);else e=
+c.merge(e,i)}}if(d)for(j=0;e[j];j++)if(f&&c.nodeName(e[j],"script")&&(!e[j].type||e[j].type.toLowerCase()==="text/javascript"))f.push(e[j].parentNode?e[j].parentNode.removeChild(e[j]):e[j]);else{e[j].nodeType===1&&e.splice.apply(e,[j+1,0].concat(c.makeArray(e[j].getElementsByTagName("script"))));d.appendChild(e[j])}return e},cleanData:function(a){for(var b,d,f=c.cache,e=c.event.special,j=c.support.deleteExpando,i=0,o;(o=a[i])!=null;i++)if(d=o[c.expando]){b=f[d];if(b.events)for(var k in b.events)e[k]?
+c.event.remove(o,k):Ca(o,k,b.handle);if(j)delete o[c.expando];else o.removeAttribute&&o.removeAttribute(c.expando);delete f[d]}}});var kb=/z-?index|font-?weight|opacity|zoom|line-?height/i,Na=/alpha\([^)]*\)/,Oa=/opacity=([^)]*)/,ha=/float/i,ia=/-([a-z])/ig,lb=/([A-Z])/g,mb=/^-?\d+(?:px)?$/i,nb=/^-?\d/,ob={position:"absolute",visibility:"hidden",display:"block"},pb=["Left","Right"],qb=["Top","Bottom"],rb=s.defaultView&&s.defaultView.getComputedStyle,Pa=c.support.cssFloat?"cssFloat":"styleFloat",ja=
+function(a,b){return b.toUpperCase()};c.fn.css=function(a,b){return X(this,a,b,true,function(d,f,e){if(e===w)return c.curCSS(d,f);if(typeof e==="number"&&!kb.test(f))e+="px";c.style(d,f,e)})};c.extend({style:function(a,b,d){if(!a||a.nodeType===3||a.nodeType===8)return w;if((b==="width"||b==="height")&&parseFloat(d)<0)d=w;var f=a.style||a,e=d!==w;if(!c.support.opacity&&b==="opacity"){if(e){f.zoom=1;b=parseInt(d,10)+""==="NaN"?"":"alpha(opacity="+d*100+")";a=f.filter||c.curCSS(a,"filter")||"";f.filter=
+Na.test(a)?a.replace(Na,b):b}return f.filter&&f.filter.indexOf("opacity=")>=0?parseFloat(Oa.exec(f.filter)[1])/100+"":""}if(ha.test(b))b=Pa;b=b.replace(ia,ja);if(e)f[b]=d;return f[b]},css:function(a,b,d,f){if(b==="width"||b==="height"){var e,j=b==="width"?pb:qb;function i(){e=b==="width"?a.offsetWidth:a.offsetHeight;f!=="border"&&c.each(j,function(){f||(e-=parseFloat(c.curCSS(a,"padding"+this,true))||0);if(f==="margin")e+=parseFloat(c.curCSS(a,"margin"+this,true))||0;else e-=parseFloat(c.curCSS(a,
+"border"+this+"Width",true))||0})}a.offsetWidth!==0?i():c.swap(a,ob,i);return Math.max(0,Math.round(e))}return c.curCSS(a,b,d)},curCSS:function(a,b,d){var f,e=a.style;if(!c.support.opacity&&b==="opacity"&&a.currentStyle){f=Oa.test(a.currentStyle.filter||"")?parseFloat(RegExp.$1)/100+"":"";return f===""?"1":f}if(ha.test(b))b=Pa;if(!d&&e&&e[b])f=e[b];else if(rb){if(ha.test(b))b="float";b=b.replace(lb,"-$1").toLowerCase();e=a.ownerDocument.defaultView;if(!e)return null;if(a=e.getComputedStyle(a,null))f=
+a.getPropertyValue(b);if(b==="opacity"&&f==="")f="1"}else if(a.currentStyle){d=b.replace(ia,ja);f=a.currentStyle[b]||a.currentStyle[d];if(!mb.test(f)&&nb.test(f)){b=e.left;var j=a.runtimeStyle.left;a.runtimeStyle.left=a.currentStyle.left;e.left=d==="fontSize"?"1em":f||0;f=e.pixelLeft+"px";e.left=b;a.runtimeStyle.left=j}}return f},swap:function(a,b,d){var f={};for(var e in b){f[e]=a.style[e];a.style[e]=b[e]}d.call(a);for(e in b)a.style[e]=f[e]}});if(c.expr&&c.expr.filters){c.expr.filters.hidden=function(a){var b=
+a.offsetWidth,d=a.offsetHeight,f=a.nodeName.toLowerCase()==="tr";return b===0&&d===0&&!f?true:b>0&&d>0&&!f?false:c.curCSS(a,"display")==="none"};c.expr.filters.visible=function(a){return!c.expr.filters.hidden(a)}}var sb=J(),tb=/
+
+
+
+
+
+
+
+
+ Javascript is disabled; several features are only available
+ if Javascript is enabled.
+
+
+
+
+
+
+ The following markers were found:
+
+
+
+
+ class.phpmailer.php2
+
+
+
+Type
+Line
+Description
+
+
+todo
+2615
+Should this not be using __set() magic function?
+
+
+todo
+1609
+check this worked
+
+
+
+
+
+
+
+
+