├── cache
└── .gitignore
├── feeds
└── .gitignore
├── media
└── .gitignore
├── plugins
└── index.html
├── tests
├── phpunit.xml
├── library
│ └── bootstrap.php
└── application
│ ├── bootstrap.php
│ └── controllers
│ ├── LoginControllerTest.php
│ └── AbstractControllerTest.php
├── tmp
└── .gitignore
├── previews
├── index.html
└── crop
│ └── .gitignore
├── system
├── css
│ ├── index.html
│ └── less
│ │ ├── toaster
│ │ └── widgets-plugins
│ │ │ ├── wb-text-only.less
│ │ │ ├── wb-featured-only.less
│ │ │ ├── wb-gallery-only.less
│ │ │ ├── manage-form.less
│ │ │ ├── wb-directupload.less
│ │ │ └── wb-image-only.less
│ │ ├── icons.less
│ │ ├── mixins
│ │ ├── mixins-alert.less
│ │ ├── mixins-overlay.less
│ │ └── mixins-thumbnail.less
│ │ ├── packages
│ │ ├── feature-pack.less
│ │ ├── control_panel.less
│ │ └── widgets_plugins.less
│ │ ├── elements
│ │ ├── fonts.less
│ │ ├── message.less
│ │ ├── images.less
│ │ └── separator.less
│ │ ├── modules
│ │ ├── autocomplete.less
│ │ ├── paginator.less
│ │ └── carousel.less
│ │ ├── reset-widgets.css.map
│ │ └── seotoaster-ui.less
├── languages
│ ├── he.lng
│ └── en.lng
├── cronCache
│ └── websiteLogCache
│ │ └── .gitignore
├── images
│ ├── csv.png
│ ├── edit.png
│ ├── move.png
│ ├── sbg.png
│ ├── w-gmb.png
│ ├── delete.png
│ ├── editadd.png
│ ├── fb-btn.jpg
│ ├── gmb-btn.jpg
│ ├── loading.gif
│ ├── noimage.png
│ ├── readme.png
│ ├── spinner.gif
│ ├── zoiper.png
│ ├── bg-strip.png
│ ├── check-all.gif
│ ├── collapse.png
│ ├── collapsed.png
│ ├── cpanel-img.jpg
│ ├── download.png
│ ├── filetypes.png
│ ├── flags
│ │ ├── cz.png
│ │ ├── de.png
│ │ ├── es.png
│ │ ├── fr.png
│ │ ├── id.png
│ │ ├── it.png
│ │ ├── pt.png
│ │ ├── ru.png
│ │ ├── si.png
│ │ └── us.png
│ ├── logo-small.jpg
│ ├── move-pages.png
│ ├── no_image.png
│ ├── no_preview.png
│ ├── openhand.cur
│ ├── spinner2.gif
│ ├── w-facebook.png
│ ├── w-linkedin.png
│ ├── w-twitter.png
│ ├── editadd-code.png
│ ├── widgets
│ │ ├── form.png
│ │ ├── rss.png
│ │ ├── search.png
│ │ ├── featured.png
│ │ ├── clicktocall.png
│ │ ├── imageGallery.png
│ │ ├── imageRotator.png
│ │ └── relatedPages.png
│ ├── ajax_loader_big.gif
│ ├── current-theme.png
│ ├── editadd-content.png
│ ├── editadd-header.png
│ ├── editadd-plugin.png
│ ├── spinner-small.gif
│ ├── ajax-loader-small.gif
│ ├── bg-editor-pattern.png
│ ├── zonehighlighting.jpg
│ ├── header-bottom-arrow.png
│ ├── questionmark_hover.png
│ ├── editadd-static-content.png
│ └── editadd-static-header.png
├── fonts
│ ├── Alcohole.ttf
│ └── icons
│ │ ├── toaster-icons.eot
│ │ ├── toaster-icons.ttf
│ │ └── toaster-icons.woff
├── js
│ ├── external
│ │ ├── tinymce
│ │ │ ├── skins
│ │ │ │ └── seotoaster
│ │ │ │ │ ├── fonts
│ │ │ │ │ ├── readme.md
│ │ │ │ │ ├── tinymce.eot
│ │ │ │ │ ├── tinymce.ttf
│ │ │ │ │ ├── tinymce.woff
│ │ │ │ │ ├── tinymce-small.eot
│ │ │ │ │ ├── tinymce-small.ttf
│ │ │ │ │ └── tinymce-small.woff
│ │ │ │ │ ├── img
│ │ │ │ │ ├── anchor.gif
│ │ │ │ │ ├── loader.gif
│ │ │ │ │ ├── object.gif
│ │ │ │ │ ├── trans.gif
│ │ │ │ │ └── wline.gif
│ │ │ │ │ └── content.inline.min.css
│ │ │ ├── plugins
│ │ │ │ ├── media
│ │ │ │ │ └── moxieplayer.swf
│ │ │ │ ├── hr
│ │ │ │ │ └── plugin.min.js
│ │ │ │ ├── anchor
│ │ │ │ │ └── plugin.min.js
│ │ │ │ ├── stw
│ │ │ │ │ └── plugin.min.js
│ │ │ │ ├── code
│ │ │ │ │ └── plugin.min.js
│ │ │ │ ├── save
│ │ │ │ │ └── plugin.min.js
│ │ │ │ ├── visualblocks
│ │ │ │ │ └── plugin.min.js
│ │ │ │ ├── advlist
│ │ │ │ │ └── plugin.min.js
│ │ │ │ └── fullscreen
│ │ │ │ │ └── plugin.min.js
│ │ │ └── langs
│ │ │ │ └── readme.md
│ │ ├── chosen
│ │ │ ├── chosen-sprite.png
│ │ │ └── chosen-sprite@2x.png
│ │ ├── plupload
│ │ │ └── plupload.flash.swf
│ │ ├── tinymce5
│ │ │ ├── skins
│ │ │ │ ├── ui
│ │ │ │ │ ├── oxide
│ │ │ │ │ │ ├── fonts
│ │ │ │ │ │ │ └── tinymce-mobile.woff
│ │ │ │ │ │ └── content.mobile.min.css
│ │ │ │ │ └── oxide-dark
│ │ │ │ │ │ ├── fonts
│ │ │ │ │ │ └── tinymce-mobile.woff
│ │ │ │ │ │ └── content.mobile.min.css
│ │ │ │ └── content
│ │ │ │ │ ├── default
│ │ │ │ │ └── content.min.css
│ │ │ │ │ ├── writer
│ │ │ │ │ └── content.min.css
│ │ │ │ │ ├── dark
│ │ │ │ │ └── content.min.css
│ │ │ │ │ └── document
│ │ │ │ │ └── content.min.css
│ │ │ ├── langs
│ │ │ │ └── readme.md
│ │ │ └── plugins
│ │ │ │ ├── textcolor
│ │ │ │ └── plugin.min.js
│ │ │ │ ├── colorpicker
│ │ │ │ └── plugin.min.js
│ │ │ │ ├── contextmenu
│ │ │ │ └── plugin.min.js
│ │ │ │ ├── hr
│ │ │ │ └── plugin.min.js
│ │ │ │ ├── print
│ │ │ │ └── plugin.min.js
│ │ │ │ ├── code
│ │ │ │ └── plugin.min.js
│ │ │ │ ├── visualblocks
│ │ │ │ └── plugin.min.js
│ │ │ │ └── nonbreaking
│ │ │ │ └── plugin.min.js
│ │ └── jquery
│ │ │ └── plugins
│ │ │ ├── cycle
│ │ │ ├── jquery.cycle2.scrollVert.min.js
│ │ │ ├── jquery.cycle2.shuffle.min.js
│ │ │ └── jquery.cycle2.swipe.min.js
│ │ │ ├── cookie
│ │ │ └── jquery.cookie.js
│ │ │ └── touchpunch
│ │ │ └── jquery.ui.touch-punch.min.js
│ └── internal
│ │ ├── modules
│ │ └── themes
│ │ │ ├── index.js
│ │ │ ├── collections
│ │ │ └── themes.js
│ │ │ └── models
│ │ │ └── theme.js
│ │ ├── themes.js
│ │ ├── folders.js
│ │ ├── sculpting.min.js
│ │ ├── featuredarea.min.js
│ │ ├── user-attributes.js
│ │ └── deeplinks.min.js
└── coreinfo.php.default
├── themes
└── .gitignore
├── version.txt
├── _install
├── installer
│ ├── index.html
│ ├── .htaccess
│ ├── resourses
│ │ └── index.html
│ ├── views
│ │ └── scripts
│ │ │ ├── index
│ │ │ ├── index.phtml
│ │ │ └── tada.phtml
│ │ │ ├── error
│ │ │ └── error.phtml
│ │ │ ├── _langs.phtml
│ │ │ └── _server.phtml
│ └── tools
│ │ └── SqlSplitter.php
├── assets
│ ├── ok.png
│ ├── check.png
│ ├── error.png
│ ├── logo.jpg
│ ├── toasters.jpg
│ ├── error-big.png
│ ├── last-visits.png
│ ├── list-keywords.png
│ ├── seosamba-icon.png
│ └── visitor-count.png
├── revert-alters.sql
└── index.php
├── seotoaster_core
├── library
│ └── index.html
├── application
│ ├── configs
│ │ ├── index.html
│ │ └── .htaccess
│ ├── app
│ │ ├── Widgets
│ │ │ ├── Breadcrumbs
│ │ │ │ └── views
│ │ │ │ │ └── crumbs.phtml
│ │ │ ├── Pagebreak
│ │ │ │ ├── views
│ │ │ │ │ └── pagebreak.phtml
│ │ │ │ └── Pagebreak.php
│ │ │ ├── User
│ │ │ │ ├── User.php
│ │ │ │ └── views
│ │ │ │ │ ├── user-attribute.phtml
│ │ │ │ │ └── user-prefix.phtml
│ │ │ ├── Search
│ │ │ │ └── views
│ │ │ │ │ ├── searchForm.phtml
│ │ │ │ │ ├── form.phtml
│ │ │ │ │ ├── results.phtml
│ │ │ │ │ ├── searchButton.phtml
│ │ │ │ │ └── links.phtml
│ │ │ ├── Pwa
│ │ │ │ └── views
│ │ │ │ │ ├── disable.phtml
│ │ │ │ │ ├── sw.phtml
│ │ │ │ │ └── a2hs.phtml
│ │ │ ├── Copyright
│ │ │ │ └── Copyright.php
│ │ │ ├── Featured
│ │ │ │ └── views
│ │ │ │ │ └── farea-tags.phtml
│ │ │ ├── Rss
│ │ │ │ └── views
│ │ │ │ │ └── rss.phtml
│ │ │ ├── Meta
│ │ │ │ └── Meta.php
│ │ │ ├── Seo
│ │ │ │ └── Seo.php
│ │ │ ├── Content
│ │ │ │ └── views
│ │ │ │ │ └── ajax.phtml
│ │ │ └── Prepop
│ │ │ │ └── views
│ │ │ │ └── prepopLink.phtml
│ │ ├── Interfaces
│ │ │ ├── Observer.php
│ │ │ ├── GarbageCollector.php
│ │ │ ├── Plugin.php
│ │ │ └── Observable.php
│ │ ├── Exceptions
│ │ │ ├── SeotoasterException.php
│ │ │ ├── SeotoasterMagicSpaceException.php
│ │ │ ├── SeotoasterPluginException.php
│ │ │ ├── SeotoasterWidgetException.php
│ │ │ └── SeotoasterTemplateException.php
│ │ ├── Tools
│ │ │ ├── Security
│ │ │ │ └── Tools.php
│ │ │ ├── Cache
│ │ │ │ └── GarbageCollector.php
│ │ │ ├── Featured
│ │ │ │ └── GarbageCollector.php
│ │ │ ├── Content
│ │ │ │ └── Feed.php
│ │ │ ├── Seo
│ │ │ │ └── GarbageCollector.php
│ │ │ ├── Text
│ │ │ │ └── Tools.php
│ │ │ ├── System
│ │ │ │ ├── Observable.php
│ │ │ │ ├── SqlSplitter.php
│ │ │ │ └── GoogleRecaptcha.php
│ │ │ ├── Factory
│ │ │ │ ├── RestServiceFactory.php
│ │ │ │ ├── WidgetFactory.php
│ │ │ │ └── MagicSpaceFactory.php
│ │ │ ├── Widgets
│ │ │ │ └── Tools.php
│ │ │ └── Template
│ │ │ │ └── Tools.php
│ │ ├── Helpers
│ │ │ └── Action
│ │ │ │ ├── Image.php
│ │ │ │ ├── Config.php
│ │ │ │ ├── Mobile.php
│ │ │ │ ├── Website.php
│ │ │ │ ├── Session.php
│ │ │ │ └── Admin.php
│ │ ├── MagicSpaces
│ │ │ ├── Notadmin
│ │ │ │ └── Notadmin.php
│ │ │ ├── Memberonly
│ │ │ │ └── Memberonly.php
│ │ │ ├── Adminonly
│ │ │ │ └── Adminonly.php
│ │ │ ├── Notloggedin
│ │ │ │ └── Notloggedin.php
│ │ │ ├── Roleonly
│ │ │ │ └── Roleonly.php
│ │ │ ├── Remoteauthorization
│ │ │ │ └── Remoteauthorization.php
│ │ │ └── Device
│ │ │ │ └── Device.php
│ │ ├── Filters
│ │ │ └── UrlScheme.php
│ │ └── Validators
│ │ │ └── UrlRegex.php
│ ├── views
│ │ ├── scripts
│ │ │ ├── backend
│ │ │ │ ├── user
│ │ │ │ │ └── export.phtml
│ │ │ │ ├── systemnotifications
│ │ │ │ │ └── optimizedemail.phtml
│ │ │ │ ├── form
│ │ │ │ │ ├── adminmail.phtml
│ │ │ │ │ └── recaptcha.phtml
│ │ │ │ ├── seo
│ │ │ │ │ ├── sitemapindex.xml.phtml
│ │ │ │ │ ├── siloslist.phtml
│ │ │ │ │ ├── robots.phtml
│ │ │ │ │ ├── deeplinkslist.phtml
│ │ │ │ │ ├── sculptinglist.phtml
│ │ │ │ │ └── sculpting.phtml
│ │ │ │ ├── page
│ │ │ │ │ ├── loadpagefolders.phtml
│ │ │ │ │ ├── listpages.html.phtml
│ │ │ │ │ └── draft.phtml
│ │ │ │ ├── search
│ │ │ │ │ └── results.phtml
│ │ │ │ ├── content
│ │ │ │ │ ├── files.phtml
│ │ │ │ │ └── header.phtml
│ │ │ │ └── featured
│ │ │ │ │ ├── falist.phtml
│ │ │ │ │ └── featured.phtml
│ │ │ ├── mailer
│ │ │ │ ├── notifymail.phtml
│ │ │ │ └── signupmail.phtml
│ │ │ ├── index
│ │ │ │ ├── index.phtml
│ │ │ │ └── 404page.phtml
│ │ │ ├── admin
│ │ │ │ ├── _ajaxmsg.phtml
│ │ │ │ ├── _saveandclose.phtml
│ │ │ │ ├── _draftorlive.phtml
│ │ │ │ └── _header.phtml
│ │ │ └── error
│ │ │ │ └── error.phtml
│ │ └── helpers
│ │ │ ├── ToasterAdminpanelItem.php
│ │ │ └── ToasterFrame.php
│ ├── models
│ │ ├── DbTable
│ │ │ ├── Plugin.php
│ │ │ ├── PageFolder.php
│ │ │ ├── User.php
│ │ │ ├── FormPageConversion.php
│ │ │ ├── GalDraggableDbTable.php
│ │ │ ├── MasksList.php
│ │ │ ├── UserWhitelistIps.php
│ │ │ ├── WebsiteActionLog.php
│ │ │ ├── FormBlacklistRules.php
│ │ │ ├── Form.php
│ │ │ ├── WebsiteVisitorsBacklog.php
│ │ │ ├── TemplateType.php
│ │ │ ├── Template.php
│ │ │ ├── ObserversQueue.php
│ │ │ ├── Deeplink.php
│ │ │ ├── Seodata.php
│ │ │ ├── TriggersActions.php
│ │ │ ├── PasswordResetLog.php
│ │ │ ├── Silo.php
│ │ │ ├── Featuredarea.php
│ │ │ ├── PageOption.php
│ │ │ ├── Optimized.php
│ │ │ ├── Container.php
│ │ │ ├── Redirect.php
│ │ │ ├── LinkContainer.php
│ │ │ ├── Config.php
│ │ │ ├── PageFeaturedarea.php
│ │ │ └── PageHasOption.php
│ │ ├── Models
│ │ │ ├── PageFolder.php
│ │ │ ├── Silo.php
│ │ │ ├── UserWhitelistIp.php
│ │ │ ├── Seodata.php
│ │ │ ├── PageOption.php
│ │ │ ├── FormPageConversion.php
│ │ │ ├── FormBlacklistRules.php
│ │ │ └── Redirect.php
│ │ └── Mappers
│ │ │ ├── ConfigMapper.php
│ │ │ ├── SeodataMapper.php
│ │ │ └── GalDraggableMapper.php
│ ├── forms
│ │ ├── Secure.php
│ │ ├── Content.php
│ │ ├── Prepop.php
│ │ ├── Upload.php
│ │ ├── Silo.php
│ │ ├── Code.php
│ │ ├── Header.php
│ │ ├── Css.php
│ │ ├── Login.php
│ │ └── Featured.php
│ └── controllers
│ │ └── Backend
│ │ └── ApiController.php
└── .htaccess
├── robots.txt.default
├── favicon.ico.default
├── .htaccess.default
├── .gitignore
└── manifest.json.default
/cache/.gitignore:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/feeds/.gitignore:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/media/.gitignore:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/plugins/index.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/tests/phpunit.xml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/tmp/.gitignore:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/previews/index.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/system/css/index.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/system/languages/he.lng:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/themes/.gitignore:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/version.txt:
--------------------------------------------------------------------------------
1 | 3.11.2
2 |
--------------------------------------------------------------------------------
/previews/crop/.gitignore:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/tests/library/bootstrap.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/_install/installer/index.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/tests/application/bootstrap.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/seotoaster_core/library/index.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/_install/installer/.htaccess:
--------------------------------------------------------------------------------
1 | deny from all
--------------------------------------------------------------------------------
/_install/installer/resourses/index.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/seotoaster_core/application/configs/index.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/robots.txt.default:
--------------------------------------------------------------------------------
1 | User-agent: *
2 | Disallow: /
3 |
4 |
--------------------------------------------------------------------------------
/system/css/less/toaster/widgets-plugins/wb-text-only.less:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/seotoaster_core/application/configs/.htaccess:
--------------------------------------------------------------------------------
1 | deny from all
2 |
--------------------------------------------------------------------------------
/system/cronCache/websiteLogCache/.gitignore:
--------------------------------------------------------------------------------
1 | *
2 | !*/
3 | !.gitignore
--------------------------------------------------------------------------------
/seotoaster_core/application/app/Widgets/Breadcrumbs/views/crumbs.phtml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/seotoaster_core/application/views/scripts/backend/user/export.phtml:
--------------------------------------------------------------------------------
1 | content; ?>
--------------------------------------------------------------------------------
/favicon.ico.default:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seotoaster-team/seotoaster/HEAD/favicon.ico.default
--------------------------------------------------------------------------------
/seotoaster_core/application/views/scripts/mailer/signupmail.phtml:
--------------------------------------------------------------------------------
1 |
New user registered
2 |
3 |
--------------------------------------------------------------------------------
/_install/assets/ok.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seotoaster-team/seotoaster/HEAD/_install/assets/ok.png
--------------------------------------------------------------------------------
/seotoaster_core/application/app/Widgets/Pagebreak/views/pagebreak.phtml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/system/images/csv.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seotoaster-team/seotoaster/HEAD/system/images/csv.png
--------------------------------------------------------------------------------
/system/images/edit.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seotoaster-team/seotoaster/HEAD/system/images/edit.png
--------------------------------------------------------------------------------
/system/images/move.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seotoaster-team/seotoaster/HEAD/system/images/move.png
--------------------------------------------------------------------------------
/system/images/sbg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seotoaster-team/seotoaster/HEAD/system/images/sbg.png
--------------------------------------------------------------------------------
/system/images/w-gmb.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seotoaster-team/seotoaster/HEAD/system/images/w-gmb.png
--------------------------------------------------------------------------------
/_install/assets/check.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seotoaster-team/seotoaster/HEAD/_install/assets/check.png
--------------------------------------------------------------------------------
/_install/assets/error.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seotoaster-team/seotoaster/HEAD/_install/assets/error.png
--------------------------------------------------------------------------------
/_install/assets/logo.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seotoaster-team/seotoaster/HEAD/_install/assets/logo.jpg
--------------------------------------------------------------------------------
/system/css/less/toaster/widgets-plugins/wb-featured-only.less:
--------------------------------------------------------------------------------
1 | #farea-form{
2 | background : @body-bg;
3 | }
--------------------------------------------------------------------------------
/system/css/less/toaster/widgets-plugins/wb-gallery-only.less:
--------------------------------------------------------------------------------
1 | #gallery-form{
2 | background : @body-bg;
3 | }
--------------------------------------------------------------------------------
/system/fonts/Alcohole.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seotoaster-team/seotoaster/HEAD/system/fonts/Alcohole.ttf
--------------------------------------------------------------------------------
/system/images/delete.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seotoaster-team/seotoaster/HEAD/system/images/delete.png
--------------------------------------------------------------------------------
/system/images/editadd.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seotoaster-team/seotoaster/HEAD/system/images/editadd.png
--------------------------------------------------------------------------------
/system/images/fb-btn.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seotoaster-team/seotoaster/HEAD/system/images/fb-btn.jpg
--------------------------------------------------------------------------------
/system/images/gmb-btn.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seotoaster-team/seotoaster/HEAD/system/images/gmb-btn.jpg
--------------------------------------------------------------------------------
/system/images/loading.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seotoaster-team/seotoaster/HEAD/system/images/loading.gif
--------------------------------------------------------------------------------
/system/images/noimage.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seotoaster-team/seotoaster/HEAD/system/images/noimage.png
--------------------------------------------------------------------------------
/system/images/readme.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seotoaster-team/seotoaster/HEAD/system/images/readme.png
--------------------------------------------------------------------------------
/system/images/spinner.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seotoaster-team/seotoaster/HEAD/system/images/spinner.gif
--------------------------------------------------------------------------------
/system/images/zoiper.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seotoaster-team/seotoaster/HEAD/system/images/zoiper.png
--------------------------------------------------------------------------------
/_install/assets/toasters.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seotoaster-team/seotoaster/HEAD/_install/assets/toasters.jpg
--------------------------------------------------------------------------------
/system/images/bg-strip.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seotoaster-team/seotoaster/HEAD/system/images/bg-strip.png
--------------------------------------------------------------------------------
/system/images/check-all.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seotoaster-team/seotoaster/HEAD/system/images/check-all.gif
--------------------------------------------------------------------------------
/system/images/collapse.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seotoaster-team/seotoaster/HEAD/system/images/collapse.png
--------------------------------------------------------------------------------
/system/images/collapsed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seotoaster-team/seotoaster/HEAD/system/images/collapsed.png
--------------------------------------------------------------------------------
/system/images/cpanel-img.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seotoaster-team/seotoaster/HEAD/system/images/cpanel-img.jpg
--------------------------------------------------------------------------------
/system/images/download.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seotoaster-team/seotoaster/HEAD/system/images/download.png
--------------------------------------------------------------------------------
/system/images/filetypes.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seotoaster-team/seotoaster/HEAD/system/images/filetypes.png
--------------------------------------------------------------------------------
/system/images/flags/cz.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seotoaster-team/seotoaster/HEAD/system/images/flags/cz.png
--------------------------------------------------------------------------------
/system/images/flags/de.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seotoaster-team/seotoaster/HEAD/system/images/flags/de.png
--------------------------------------------------------------------------------
/system/images/flags/es.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seotoaster-team/seotoaster/HEAD/system/images/flags/es.png
--------------------------------------------------------------------------------
/system/images/flags/fr.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seotoaster-team/seotoaster/HEAD/system/images/flags/fr.png
--------------------------------------------------------------------------------
/system/images/flags/id.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seotoaster-team/seotoaster/HEAD/system/images/flags/id.png
--------------------------------------------------------------------------------
/system/images/flags/it.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seotoaster-team/seotoaster/HEAD/system/images/flags/it.png
--------------------------------------------------------------------------------
/system/images/flags/pt.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seotoaster-team/seotoaster/HEAD/system/images/flags/pt.png
--------------------------------------------------------------------------------
/system/images/flags/ru.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seotoaster-team/seotoaster/HEAD/system/images/flags/ru.png
--------------------------------------------------------------------------------
/system/images/flags/si.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seotoaster-team/seotoaster/HEAD/system/images/flags/si.png
--------------------------------------------------------------------------------
/system/images/flags/us.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seotoaster-team/seotoaster/HEAD/system/images/flags/us.png
--------------------------------------------------------------------------------
/system/images/logo-small.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seotoaster-team/seotoaster/HEAD/system/images/logo-small.jpg
--------------------------------------------------------------------------------
/system/images/move-pages.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seotoaster-team/seotoaster/HEAD/system/images/move-pages.png
--------------------------------------------------------------------------------
/system/images/no_image.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seotoaster-team/seotoaster/HEAD/system/images/no_image.png
--------------------------------------------------------------------------------
/system/images/no_preview.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seotoaster-team/seotoaster/HEAD/system/images/no_preview.png
--------------------------------------------------------------------------------
/system/images/openhand.cur:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seotoaster-team/seotoaster/HEAD/system/images/openhand.cur
--------------------------------------------------------------------------------
/system/images/spinner2.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seotoaster-team/seotoaster/HEAD/system/images/spinner2.gif
--------------------------------------------------------------------------------
/system/images/w-facebook.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seotoaster-team/seotoaster/HEAD/system/images/w-facebook.png
--------------------------------------------------------------------------------
/system/images/w-linkedin.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seotoaster-team/seotoaster/HEAD/system/images/w-linkedin.png
--------------------------------------------------------------------------------
/system/images/w-twitter.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seotoaster-team/seotoaster/HEAD/system/images/w-twitter.png
--------------------------------------------------------------------------------
/_install/assets/error-big.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seotoaster-team/seotoaster/HEAD/_install/assets/error-big.png
--------------------------------------------------------------------------------
/system/images/editadd-code.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seotoaster-team/seotoaster/HEAD/system/images/editadd-code.png
--------------------------------------------------------------------------------
/system/images/widgets/form.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seotoaster-team/seotoaster/HEAD/system/images/widgets/form.png
--------------------------------------------------------------------------------
/system/images/widgets/rss.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seotoaster-team/seotoaster/HEAD/system/images/widgets/rss.png
--------------------------------------------------------------------------------
/_install/assets/last-visits.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seotoaster-team/seotoaster/HEAD/_install/assets/last-visits.png
--------------------------------------------------------------------------------
/_install/assets/list-keywords.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seotoaster-team/seotoaster/HEAD/_install/assets/list-keywords.png
--------------------------------------------------------------------------------
/_install/assets/seosamba-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seotoaster-team/seotoaster/HEAD/_install/assets/seosamba-icon.png
--------------------------------------------------------------------------------
/_install/assets/visitor-count.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seotoaster-team/seotoaster/HEAD/_install/assets/visitor-count.png
--------------------------------------------------------------------------------
/system/images/ajax_loader_big.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seotoaster-team/seotoaster/HEAD/system/images/ajax_loader_big.gif
--------------------------------------------------------------------------------
/system/images/current-theme.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seotoaster-team/seotoaster/HEAD/system/images/current-theme.png
--------------------------------------------------------------------------------
/system/images/editadd-content.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seotoaster-team/seotoaster/HEAD/system/images/editadd-content.png
--------------------------------------------------------------------------------
/system/images/editadd-header.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seotoaster-team/seotoaster/HEAD/system/images/editadd-header.png
--------------------------------------------------------------------------------
/system/images/editadd-plugin.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seotoaster-team/seotoaster/HEAD/system/images/editadd-plugin.png
--------------------------------------------------------------------------------
/system/images/spinner-small.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seotoaster-team/seotoaster/HEAD/system/images/spinner-small.gif
--------------------------------------------------------------------------------
/system/images/widgets/search.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seotoaster-team/seotoaster/HEAD/system/images/widgets/search.png
--------------------------------------------------------------------------------
/system/images/ajax-loader-small.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seotoaster-team/seotoaster/HEAD/system/images/ajax-loader-small.gif
--------------------------------------------------------------------------------
/system/images/bg-editor-pattern.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seotoaster-team/seotoaster/HEAD/system/images/bg-editor-pattern.png
--------------------------------------------------------------------------------
/system/images/widgets/featured.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seotoaster-team/seotoaster/HEAD/system/images/widgets/featured.png
--------------------------------------------------------------------------------
/system/images/zonehighlighting.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seotoaster-team/seotoaster/HEAD/system/images/zonehighlighting.jpg
--------------------------------------------------------------------------------
/system/js/external/tinymce/skins/seotoaster/fonts/readme.md:
--------------------------------------------------------------------------------
1 | Icons are generated and provided by the http://icomoon.io service.
2 |
--------------------------------------------------------------------------------
/system/fonts/icons/toaster-icons.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seotoaster-team/seotoaster/HEAD/system/fonts/icons/toaster-icons.eot
--------------------------------------------------------------------------------
/system/fonts/icons/toaster-icons.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seotoaster-team/seotoaster/HEAD/system/fonts/icons/toaster-icons.ttf
--------------------------------------------------------------------------------
/system/fonts/icons/toaster-icons.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seotoaster-team/seotoaster/HEAD/system/fonts/icons/toaster-icons.woff
--------------------------------------------------------------------------------
/system/images/header-bottom-arrow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seotoaster-team/seotoaster/HEAD/system/images/header-bottom-arrow.png
--------------------------------------------------------------------------------
/system/images/questionmark_hover.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seotoaster-team/seotoaster/HEAD/system/images/questionmark_hover.png
--------------------------------------------------------------------------------
/system/images/widgets/clicktocall.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seotoaster-team/seotoaster/HEAD/system/images/widgets/clicktocall.png
--------------------------------------------------------------------------------
/system/images/widgets/imageGallery.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seotoaster-team/seotoaster/HEAD/system/images/widgets/imageGallery.png
--------------------------------------------------------------------------------
/system/images/widgets/imageRotator.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seotoaster-team/seotoaster/HEAD/system/images/widgets/imageRotator.png
--------------------------------------------------------------------------------
/system/images/widgets/relatedPages.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seotoaster-team/seotoaster/HEAD/system/images/widgets/relatedPages.png
--------------------------------------------------------------------------------
/system/images/editadd-static-content.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seotoaster-team/seotoaster/HEAD/system/images/editadd-static-content.png
--------------------------------------------------------------------------------
/system/images/editadd-static-header.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seotoaster-team/seotoaster/HEAD/system/images/editadd-static-header.png
--------------------------------------------------------------------------------
/seotoaster_core/application/app/Interfaces/Observer.php:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/system/js/external/tinymce/skins/seotoaster/fonts/tinymce-small.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seotoaster-team/seotoaster/HEAD/system/js/external/tinymce/skins/seotoaster/fonts/tinymce-small.eot
--------------------------------------------------------------------------------
/system/js/external/tinymce/skins/seotoaster/fonts/tinymce-small.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seotoaster-team/seotoaster/HEAD/system/js/external/tinymce/skins/seotoaster/fonts/tinymce-small.ttf
--------------------------------------------------------------------------------
/system/js/external/tinymce/skins/seotoaster/fonts/tinymce-small.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seotoaster-team/seotoaster/HEAD/system/js/external/tinymce/skins/seotoaster/fonts/tinymce-small.woff
--------------------------------------------------------------------------------
/system/js/external/tinymce5/skins/ui/oxide/fonts/tinymce-mobile.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seotoaster-team/seotoaster/HEAD/system/js/external/tinymce5/skins/ui/oxide/fonts/tinymce-mobile.woff
--------------------------------------------------------------------------------
/seotoaster_core/application/models/DbTable/Plugin.php:
--------------------------------------------------------------------------------
1 | extraClasses; ?>">translate('Save and close'); ?>
2 |
--------------------------------------------------------------------------------
/seotoaster_core/application/models/DbTable/User.php:
--------------------------------------------------------------------------------
1 |
5 | */
6 |
7 | class Widgets_User_User extends Widgets_User_Base {
8 |
9 | }
--------------------------------------------------------------------------------
/seotoaster_core/application/models/DbTable/FormPageConversion.php:
--------------------------------------------------------------------------------
1 | _spaceContent : '';
6 | }
7 |
8 | }
9 |
--------------------------------------------------------------------------------
/seotoaster_core/application/app/MagicSpaces/Memberonly/Memberonly.php:
--------------------------------------------------------------------------------
1 | _spaceContent : '';
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/seotoaster_core/application/models/DbTable/Deeplink.php:
--------------------------------------------------------------------------------
1 |
7 | */
8 | class Application_Model_DbTable_Deeplink extends Zend_Db_Table_Abstract {
9 |
10 | protected $_name = 'deeplink';
11 |
12 | }
13 |
14 |
--------------------------------------------------------------------------------
/seotoaster_core/application/models/DbTable/Seodata.php:
--------------------------------------------------------------------------------
1 |
7 | */
8 | class Application_Model_DbTable_Seodata extends Zend_Db_Table_Abstract {
9 |
10 | protected $_name = 'seo_data';
11 |
12 | }
13 |
14 |
--------------------------------------------------------------------------------
/seotoaster_core/application/models/DbTable/TriggersActions.php:
--------------------------------------------------------------------------------
1 |
5 | */
6 | class Application_Model_DbTable_TriggersActions extends Zend_Db_Table_Abstract {
7 |
8 | protected $_name = 'email_triggers_actions';
9 |
10 | }
11 |
--------------------------------------------------------------------------------
/seotoaster_core/application/app/Exceptions/SeotoasterTemplateException.php:
--------------------------------------------------------------------------------
1 |
7 | */
8 | class Exceptions_SeotoasterTemplateException extends Exceptions_SeotoasterException {
9 |
10 | }
11 |
12 |
--------------------------------------------------------------------------------
/seotoaster_core/application/app/Widgets/User/views/user-attribute.phtml:
--------------------------------------------------------------------------------
1 | readonly)):?>
2 | value;?>
3 | userId."
5 | data-attribute=".$this->attribute."
6 | value=".$this->value.">"; ?>
7 |
8 |
--------------------------------------------------------------------------------
/seotoaster_core/application/models/DbTable/PasswordResetLog.php:
--------------------------------------------------------------------------------
1 |
4 | * Date: 4/17/12
5 | * Time: 2:01 PM
6 | */
7 |
8 | class Application_Model_DbTable_PasswordResetLog extends Zend_Db_Table_Abstract {
9 |
10 | protected $_name = 'password_reset_log';
11 |
12 | }
13 |
--------------------------------------------------------------------------------
/system/css/less/toaster/widgets-plugins/wb-directupload.less:
--------------------------------------------------------------------------------
1 | .directupload-wrapper{
2 | .inline-block(top);
3 |
4 | .direct-upload-images{
5 | img{
6 | cursor : pointer;
7 | }
8 |
9 | .progressbar{
10 | }
11 | }
12 |
13 | .directupdelete{
14 | color : @brand-error;
15 | }
16 | }
--------------------------------------------------------------------------------
/system/js/external/tinymce/plugins/hr/plugin.min.js:
--------------------------------------------------------------------------------
1 | tinymce.PluginManager.add("hr",function(n){n.addCommand("InsertHorizontalRule",function(){n.execCommand("mceInsertContent",!1," ")}),n.addButton("hr",{icon:"hr",tooltip:"Horizontal line",cmd:"InsertHorizontalRule"}),n.addMenuItem("hr",{icon:"hr",text:"Horizontal line",cmd:"InsertHorizontalRule",context:"insert"})});
--------------------------------------------------------------------------------
/seotoaster_core/application/app/MagicSpaces/Adminonly/Adminonly.php:
--------------------------------------------------------------------------------
1 | _spaceContent : '';
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/.htaccess.default:
--------------------------------------------------------------------------------
1 | RewriteEngine On
2 | RewriteCond %{REQUEST_FILENAME} -s [OR]
3 | RewriteCond %{REQUEST_FILENAME} -l [OR]
4 | RewriteCond %{REQUEST_FILENAME} -d
5 | RewriteRule ^.*$ - [NC,L]
6 |
7 | RewriteRule !\.(js|ico|jpe?g|gif|png|css|pdf|avi|mov|mp(3|4|e?g)|lng|(r|t)ar|tgz|zip|swf|ttf|eot|svg|woff)$ index.php [NC,L]
8 |
9 | Options -Indexes
10 | RedirectMatch 404 /\.git
--------------------------------------------------------------------------------
/system/css/less/icons.less:
--------------------------------------------------------------------------------
1 | @import "base/variables";
2 | // Fonts
3 | //==================================================
4 | @import "elements/fonts";
5 |
6 | // Toaster ICON
7 | //==================================================
8 | .activate-toaster-icon(@activate) when ( @activate = true){
9 | @import "elements/toaster-icons";
10 | }
11 | .activate-toaster-icon(@toaster-icons);
--------------------------------------------------------------------------------
/seotoaster_core/application/models/DbTable/Silo.php:
--------------------------------------------------------------------------------
1 |
7 | */
8 | class Application_Model_DbTable_Silo extends Zend_Db_Table_Abstract {
9 |
10 | protected $_dependentTables = array('Application_Model_DbTable_Page');
11 |
12 | protected $_name = 'silo';
13 | }
14 |
15 |
--------------------------------------------------------------------------------
/_install/installer/views/scripts/index/index.phtml:
--------------------------------------------------------------------------------
1 |
10 |
--------------------------------------------------------------------------------
/tests/application/controllers/LoginControllerTest.php:
--------------------------------------------------------------------------------
1 | prepopName; ?>">
2 | translate('select'); ?>
3 | prepopWithNameList as $prepop): ?>
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/system/js/external/jquery/plugins/cycle/jquery.cycle2.scrollVert.min.js:
--------------------------------------------------------------------------------
1 | /* Plugin for Cycle2; Copyright (c) 2012 M. Alsup; v20141007 */
2 | !function(a){"use strict";a.fn.cycle.transitions.scrollVert={before:function(a,b,c,d){a.API.stackSlides(a,b,c,d);var e=a.container.css("overflow","hidden").height();a.cssBefore={top:d?-e:e,left:0,opacity:1,display:"block",visibility:"visible"},a.animIn={top:0},a.animOut={top:d?e:-e}}}}(jQuery);
3 |
--------------------------------------------------------------------------------
/seotoaster_core/application/forms/Secure.php:
--------------------------------------------------------------------------------
1 | addElement( 'hash', Tools_System_Tools::CSRF_SECURE_TOKEN, array(
12 | 'ignore' => true,
13 | 'timeout' => 1440
14 | ) );
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/seotoaster_core/application/models/DbTable/Featuredarea.php:
--------------------------------------------------------------------------------
1 |
7 | */
8 | class Application_Model_DbTable_Featuredarea extends Zend_Db_Table_Abstract {
9 |
10 | protected $_name = 'featured_area';
11 |
12 | protected $_dependentTables = array('Application_Model_DbTable_PageFeaturedarea');
13 |
14 | }
15 |
16 |
--------------------------------------------------------------------------------
/system/js/internal/modules/themes/collections/themes.js:
--------------------------------------------------------------------------------
1 | define([
2 | 'underscore',
3 | 'backbone',
4 | '../models/theme'
5 | ], function(_, Backbone, ThemeModel){
6 | var themesCollection = Backbone.Collection.extend({
7 | model : ThemeModel,
8 | url : function() {
9 | return $('#website_url').val() + 'api/toaster/themes/';
10 | }
11 | });
12 | return themesCollection;
13 | });
--------------------------------------------------------------------------------
/system/js/internal/themes.js:
--------------------------------------------------------------------------------
1 | require.config({
2 | deps: ['modules/themes/index'],
3 | paths: {
4 | 'underscore' : '../external/underscore/underscore.min',
5 | 'backbone' : '../external/backbone/backbone.min'
6 | },
7 | shim: {
8 | 'underscore': {exports: '_'},
9 | 'backbone' : {
10 | deps: ['underscore'],
11 | exports: 'Backbone'
12 | }
13 | }
14 | });
--------------------------------------------------------------------------------
/seotoaster_core/application/models/DbTable/PageOption.php:
--------------------------------------------------------------------------------
1 | Seotoaster core team
5 | * Date: 7/26/12
6 | * Time: 5:25 PM
7 | */
8 | class Application_Model_DbTable_PageOption extends Zend_Db_Table_Abstract {
9 |
10 | protected $_name = 'page_option';
11 |
12 | protected $_dependentTables = array(
13 | 'Application_Model_DbTable_PageHasOption'
14 | );
15 | }
16 |
--------------------------------------------------------------------------------
/seotoaster_core/application/models/DbTable/Optimized.php:
--------------------------------------------------------------------------------
1 |
6 | */
7 |
8 | class Application_Model_DbTable_Optimized extends Zend_Db_Table_Abstract {
9 |
10 | protected $_name = 'optimized';
11 |
12 | protected $_referenceMap = array(
13 | 'Page' => array(
14 | 'columns' => 'page_id',
15 | 'refTableClass' => 'Application_Model_DbTable_Page'
16 | )
17 | );
18 |
19 | }
20 |
--------------------------------------------------------------------------------
/seotoaster_core/application/app/Filters/UrlScheme.php:
--------------------------------------------------------------------------------
1 |
7 | */
8 | class Filters_UrlScheme implements Zend_Filter_Interface {
9 |
10 | public function filter($value) {
11 | $exploded = explode('://', $value);
12 | if(sizeof($exploded) < 2) {
13 | return $value;
14 | }
15 | return $exploded[sizeof($exploded) - 2] . '://' . end($exploded);
16 | }
17 |
18 | }
19 |
20 |
--------------------------------------------------------------------------------
/seotoaster_core/application/app/Widgets/Pwa/views/disable.phtml:
--------------------------------------------------------------------------------
1 |
13 |
--------------------------------------------------------------------------------
/seotoaster_core/application/views/scripts/backend/systemnotifications/optimizedemail.phtml:
--------------------------------------------------------------------------------
1 |
2 |
translate('Hello SeoSamba Team'); ?>,
3 | translate('The optimization from the following page has been removed'); ?>:
4 | pageUrl) :?>
5 | pageName;?>
6 |
7 |
8 |
--------------------------------------------------------------------------------
/system/js/internal/modules/themes/models/theme.js:
--------------------------------------------------------------------------------
1 | define([
2 | 'underscore',
3 | 'backbone'
4 | ], function(_, Backbone){
5 |
6 | var ThemeModel = Backbone.Model.extend({
7 | urlRoot: function() {
8 | return $('#website_url').val() + 'api/toaster/themes/name/'
9 | },
10 | // initialize: function() {
11 | // this.set({id: this.get('name')});
12 | // }
13 | idAttribute: "name"
14 | });
15 |
16 | return ThemeModel;
17 | });
18 |
--------------------------------------------------------------------------------
/seotoaster_core/application/app/Widgets/Pwa/views/sw.phtml:
--------------------------------------------------------------------------------
1 | {notadmin}
2 |
13 | {/notadmin}
--------------------------------------------------------------------------------
/system/css/less/packages/feature-pack.less:
--------------------------------------------------------------------------------
1 | // News list with time line
2 | .activate-feature() when (@news-list-timeLine = true){
3 | @import "../feature/news-list-timeline";
4 | }
5 |
6 | // Menu on full width
7 | .activate-feature() when (@widget-menu-main-fullWidth = true){
8 | @import "../feature/nav-menu_main-fullwidth";
9 | }
10 |
11 | // text with middle line
12 | .activate-feature() when (@text-with-middle-line = true){
13 | @import "../feature/text-with-middle-line";
14 | }
15 | .activate-feature();
--------------------------------------------------------------------------------
/seotoaster_core/application/app/Tools/Cache/GarbageCollector.php:
--------------------------------------------------------------------------------
1 |
7 | */
8 | class Tools_Cache_GarbageCollector extends Tools_System_GarbageCollector {
9 |
10 | public function clean() {}
11 |
12 | protected function _runOnDefault() {}
13 |
14 | protected function _runOnCreate() {}
15 | protected function _runOnUpdate() {}
16 | protected function _runOnDelete() {}
17 | }
18 |
19 |
--------------------------------------------------------------------------------
/system/js/external/tinymce/plugins/anchor/plugin.min.js:
--------------------------------------------------------------------------------
1 | tinymce.PluginManager.add("anchor",function(n){function e(){var e=n.selection.getNode(),t="";"A"==e.tagName&&(t=e.name||e.id||""),n.windowManager.open({title:"Anchor",body:{type:"textbox",name:"name",size:40,label:"Name",value:t},onsubmit:function(e){n.execCommand("mceInsertContent",!1,n.dom.createHTML("a",{id:e.data.name}))}})}n.addButton("anchor",{icon:"anchor",tooltip:"Anchor",onclick:e,stateSelector:"a:not([href])"}),n.addMenuItem("anchor",{icon:"anchor",text:"Anchor",context:"insert",onclick:e})});
--------------------------------------------------------------------------------
/system/js/internal/folders.js:
--------------------------------------------------------------------------------
1 | $(function() {
2 | reloadPageFolders();
3 | var indexDropDown = $('#indexPage');
4 | $('#indexPage').on('click', function() {
5 | $('#indexPage').replaceWith(indexDropDown);
6 | });
7 | });
8 |
9 | //callback function for the ajax forms
10 | function reloadPageFolders() {
11 | $('input:text').val('');
12 | showSpinner();
13 | $.getJSON($('#website_url').val() + 'backend/backend_page/loadpagefolders/', function(response) {
14 | hideSpinner();
15 | $('#folders-list').html(response.pagefolders);
16 | });
17 | }
18 |
--------------------------------------------------------------------------------
/system/coreinfo.php.default:
--------------------------------------------------------------------------------
1 | _name;
11 | }
12 |
13 | public function setName($name) {
14 | $this->_name = $name;
15 | return $this;
16 | }
17 |
18 | public function getIndexPage() {
19 | return $this->_indexPage;
20 | }
21 |
22 | public function setIndexPage($indexPage) {
23 | $this->_indexPage = $indexPage;
24 | return $this;
25 | }
26 | }
--------------------------------------------------------------------------------
/seotoaster_core/application/views/scripts/backend/form/adminmail.phtml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
6 | translate('New message was posted on the website.'); ?>
7 | params) && !empty ($this->params)): ?>
8 |
9 | params as $name => $param): ?>
10 | badParams)): ?>
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/system/css/less/mixins/mixins-overlay.less:
--------------------------------------------------------------------------------
1 | // Overlay mixins with dotted
2 | //===================================================
3 | .overlay-dotted() {
4 | &:after{
5 | content : '';
6 | position : absolute;
7 | top : 0;
8 | left : 0;
9 | right : 0;
10 | bottom : 0;
11 | z-index : 1;
12 | background : url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAADCAYAAABWKLW/AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAB9JREFUeNpiZmBg6AZiDiBWZ4YyQMCOCcYA4kMAAQYAHyYCCUdxidgAAAAASUVORK5CYII=");
13 | }
14 | }
--------------------------------------------------------------------------------
/seotoaster_core/application/app/MagicSpaces/Notloggedin/Notloggedin.php:
--------------------------------------------------------------------------------
1 | getCurrentUser();
10 | $userRole = $loggedUser->getRoleId();
11 | if ($userRole === Tools_Security_Acl::ROLE_GUEST) {
12 | return $this->_spaceContent;
13 | }
14 |
15 | return '';
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/system/js/external/tinymce5/skins/ui/oxide/content.mobile.min.css:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) Tiny Technologies, Inc. All rights reserved.
3 | * Licensed under the LGPL or a commercial license.
4 | * For LGPL see License.txt in the project root for license information.
5 | * For commercial licenses see https://www.tiny.cloud/
6 | */
7 | .tinymce-mobile-unfocused-selections .tinymce-mobile-unfocused-selection{background-color:green;display:inline-block;opacity:.5;position:absolute}body{-webkit-text-size-adjust:none}body img{max-width:96vw}body table img{max-width:95%}body{font-family:sans-serif}table{border-collapse:collapse}
8 |
--------------------------------------------------------------------------------
/system/js/external/tinymce5/skins/ui/oxide-dark/content.mobile.min.css:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) Tiny Technologies, Inc. All rights reserved.
3 | * Licensed under the LGPL or a commercial license.
4 | * For LGPL see License.txt in the project root for license information.
5 | * For commercial licenses see https://www.tiny.cloud/
6 | */
7 | .tinymce-mobile-unfocused-selections .tinymce-mobile-unfocused-selection{background-color:green;display:inline-block;opacity:.5;position:absolute}body{-webkit-text-size-adjust:none}body img{max-width:96vw}body table img{max-width:95%}body{font-family:sans-serif}table{border-collapse:collapse}
8 |
--------------------------------------------------------------------------------
/seotoaster_core/application/app/Widgets/Copyright/Copyright.php:
--------------------------------------------------------------------------------
1 | ' . self::COPYRIGHT_SYMBOL . ' ' . $currentYear;
20 | }
21 | }
22 |
23 |
24 |
--------------------------------------------------------------------------------
/seotoaster_core/application/models/DbTable/Container.php:
--------------------------------------------------------------------------------
1 | array(
13 | // 'columns' => array('page_id'),
14 | // 'refTableClass' => 'Application_Model_DbTable_Page',
15 | // 'refColumns' => array('id'),
16 | // 'onDelete' => self::CASCADE,
17 | // )
18 | // );
19 | }
20 |
21 |
--------------------------------------------------------------------------------
/seotoaster_core/application/app/Widgets/User/views/user-prefix.phtml:
--------------------------------------------------------------------------------
1 | readonly)):?>
2 |
3 | userPrefixes as $key => $prefix):?>
4 | value):?>
5 | translate($prefix);?>
6 |
7 | translate($prefix);?>
8 |
9 |
10 |
11 |
12 | value;?>
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/seotoaster_core/application/models/DbTable/Redirect.php:
--------------------------------------------------------------------------------
1 |
7 | */
8 | class Application_Model_DbTable_Redirect extends Zend_Db_Table_Abstract {
9 |
10 | protected $_name = 'redirect';
11 |
12 |
13 | //Moved to db layer
14 | /*protected $_referenceMap = array(
15 | 'Page' => array(
16 | 'columns' => array('page_id'),
17 | 'refTableClass' => 'Application_Model_DbTable_Page',
18 | 'refColumns' => array('id'),
19 | 'onDelete' => self::CASCADE,
20 | )
21 | );*/
22 |
23 | }
24 |
25 |
--------------------------------------------------------------------------------
/system/languages/en.lng:
--------------------------------------------------------------------------------
1 | 'Login',
3 | 'cs_new' => 'Abandoned carts',
4 | 'cs_completed' => 'Payment Received',
5 | 'cs_shipped' => 'Items Shipped',
6 | 'cs_refunded' => 'Refunded purchase',
7 | 'cs_processing' => 'Technical processing - Customer not charged',
8 | 'cs_delivered' => 'Items Delivered',
9 | 'cs_pending' => 'Merchant action required - Customer charged',
10 | 'cs_canceled' => 'Canceled',
11 | 'cs_error' => 'Error',
12 | 'cs_total' => 'total',
13 | 'cs_quote_sent' => 'Quote Sent',
14 | 'cs_new_quote' => 'Quote new',
15 | 'cs_lost_opportunity' => 'Lost opportunity'
16 | );
17 | ?>
18 |
--------------------------------------------------------------------------------
/seotoaster_core/application/forms/Content.php:
--------------------------------------------------------------------------------
1 | _containerType) {
8 | $this->_containerType = Application_Model_Models_Container::TYPE_REGULARCONTENT;
9 | }
10 |
11 | $this->addElement('textarea', 'content', array(
12 | 'id' => 'content',
13 | 'cols' => '85',
14 | 'rows' => '30',
15 | 'class' => 'tinymce',
16 | 'value' => $this->_content,
17 | 'filters' => array('StringTrim')
18 | ));
19 |
20 | parent::init();
21 |
22 | $this->removeDecorator('DtDdWrapper');
23 | $this->removeDecorator('DlWrapper');
24 | }
25 | }
--------------------------------------------------------------------------------
/seotoaster_core/application/models/DbTable/LinkContainer.php:
--------------------------------------------------------------------------------
1 |
7 | */
8 | class Application_Model_DbTable_LinkContainer extends Zend_Db_Table_Abstract {
9 |
10 | protected $_name = 'link_container';
11 |
12 | /* Moved on db side
13 | protected $_referenceMap = array(
14 | 'Container' => array(
15 | 'columns' => array('id_container'),
16 | 'refTableClass' => 'Application_Model_DbTable_Container',
17 | 'refColumns' => array('id'),
18 | 'onDelete' => self::CASCADE,
19 | )
20 | );
21 | */
22 |
23 | }
24 |
25 |
--------------------------------------------------------------------------------
/seotoaster_core/application/models/DbTable/Config.php:
--------------------------------------------------------------------------------
1 | getAdapter()->fetchPairs($this->select()->from($this->_name));
9 | }
10 |
11 | public function updateConfigParam($name, $value) {
12 |
13 | $rowset = $this->find($name);
14 | $row = $rowset->current();
15 | if ($row === null) {
16 | $row = $this->createRow( array(
17 | 'name' => $name,
18 | 'value' => $value
19 | ));
20 | } else {
21 | $row->value = $value;
22 | }
23 |
24 | return $row->save();
25 | }
26 |
27 |
28 | }
29 |
30 |
--------------------------------------------------------------------------------
/system/js/external/tinymce/plugins/stw/plugin.min.js:
--------------------------------------------------------------------------------
1 | tinymce.PluginManager.add("stw",function(f,g){f.addButton("stw",{type:"listbox",text:"Useful shortcuts",icon:!1,values:function(){var e=[];$.ajax({type:"post",url:$("#website_url").val()+"backend/backend_content/loadwidgets/",success:function(a){for(var b in a)for(var c in a[b]){var d={};"undefined"!=typeof a[b][c].alias?(d.text=a[b][c].alias,d.value="{$"+a[b][c].option+"}"):(d.text=a[b][c],d.value="{$"+a[b][c]+"}");e.push(d)}button.menu&&(button.menu.remove(),button.menu=null);button.settings.values=
2 | button.settings.menu=e},dataType:"json"});return e}(),onselect:function(){f.insertContent(this.value());this.value(null)},onPostRender:function(){button=this}})});
3 |
--------------------------------------------------------------------------------
/seotoaster_core/application/forms/Prepop.php:
--------------------------------------------------------------------------------
1 | Seotoaster core team
5 | * Date: 5/25/12
6 | * Time: 6:37 PM
7 | */
8 | class Application_Form_Prepop extends Application_Form_Container {
9 |
10 | public function init() {
11 | if(!$this->_containerType) {
12 | $this->_containerType = Application_Model_Models_Container::TYPE_PREPOP;
13 | }
14 |
15 | $this->addElement('text', 'content', array(
16 | 'id' => 'content',
17 | 'value' => $this->_content,
18 | 'filters' => array('StringTrim')
19 | ));
20 |
21 | parent::init();
22 | }
23 |
24 | }
25 |
--------------------------------------------------------------------------------
/seotoaster_core/application/models/Models/Silo.php:
--------------------------------------------------------------------------------
1 |
7 | */
8 | class Application_Model_Models_Silo extends Application_Model_Models_Abstract {
9 |
10 | protected $_name = '';
11 |
12 | protected $_relatedPages = array();
13 |
14 | public function getRelatedPages() {
15 | return $this->_relatedPages;
16 | }
17 |
18 | public function setRelatedPages($relatedPages) {
19 | $this->_relatedPages = $relatedPages;
20 | return $this;
21 | }
22 |
23 | public function getName() {
24 | return $this->_name;
25 | }
26 |
27 | public function setName($name) {
28 | $this->_name = $name;
29 | return $this;
30 | }
31 | }
32 |
33 |
--------------------------------------------------------------------------------
/system/js/external/tinymce/plugins/code/plugin.min.js:
--------------------------------------------------------------------------------
1 | tinymce.PluginManager.add("code",function(e){function o(){var o=e.windowManager.open({title:"Source code",body:{type:"textbox",name:"code",multiline:!0,minWidth:e.getParam("code_dialog_width",600),minHeight:e.getParam("code_dialog_height",Math.min(tinymce.DOM.getViewPort().h-200,500)),spellcheck:!1,style:"direction: ltr; text-align: left"},onSubmit:function(o){e.focus(),e.undoManager.transact(function(){e.setContent(o.data.code)}),e.selection.setCursorLocation(),e.nodeChanged()}});o.find("#code").value(e.getContent({source_view:!0}))}e.addCommand("mceCodeEditor",o),e.addButton("code",{icon:"code",tooltip:"Source code",onclick:o}),e.addMenuItem("code",{icon:"code",text:"Source code",context:"tools",onclick:o})});
--------------------------------------------------------------------------------
/seotoaster_core/application/app/Tools/Featured/GarbageCollector.php:
--------------------------------------------------------------------------------
1 | _cleanCachedFeaturedData();
17 | }
18 |
19 |
20 | protected function _runOnDelete() {
21 | $this->_cleanCachedFeaturedData();
22 | }
23 |
24 | private function _cleanCachedFeaturedData(){
25 | $cacheHelper = Zend_Controller_Action_HelperBroker::getStaticHelper('cache');
26 | $cacheHelper->clean(false, false, array('fa_'.$this->_object->getName()));
27 | }
28 | }
29 |
30 |
--------------------------------------------------------------------------------
/seotoaster_core/application/models/DbTable/PageFeaturedarea.php:
--------------------------------------------------------------------------------
1 |
7 | */
8 | class Application_Model_DbTable_PageFeaturedarea extends Zend_Db_Table_Abstract {
9 |
10 | protected $_name = 'page_fa';
11 |
12 | protected $_referenceMap = array(
13 | 'Featuredarea' => array(
14 | 'columns' => array('fa_id'),
15 | 'refTableClass' => 'Application_Model_DbTable_Featuredarea',
16 | 'refColumns' => array('id')
17 | ),
18 | 'Page' => array(
19 | 'columns' => array('page_id'),
20 | 'refTableClass' => 'Application_Model_DbTable_Page',
21 | 'refColumns' => array('id')
22 | )
23 | );
24 |
25 | }
26 |
27 |
--------------------------------------------------------------------------------
/seotoaster_core/application/app/Helpers/Action/Config.php:
--------------------------------------------------------------------------------
1 | _config = Zend_Registry::get('extConfig');
10 | }
11 | catch (Zend_Exception $ze) {
12 | if(empty($this->_config)) {
13 | $configTable = new Application_Model_DbTable_Config();
14 | $this->_config = $configTable->selectConfig();
15 | Zend_Registry::set('extConfig', $this->_config);
16 | }
17 | }
18 | }
19 |
20 | public function getConfig($name = '') {
21 | if($name) {
22 | return (isset($this->_config[$name]) ? $this->_config[$name] : '');
23 | }
24 | return $this->_config;
25 | }
26 |
27 | }
28 |
29 |
--------------------------------------------------------------------------------
/seotoaster_core/application/views/helpers/ToasterAdminpanelItem.php:
--------------------------------------------------------------------------------
1 |
5 | */
6 | class Zend_View_Helper_ToasterAdminpanelItem extends Zend_View_Helper_Abstract {
7 |
8 | public function toasterAdminpanelItem($menuItem){
9 | if (is_string($menuItem)) {
10 | return ''.$menuItem.' ';
11 | } elseif (is_array($menuItem) && !empty($menuItem)) {
12 | return ''. $this->view->toasterLink(
13 | 'plugin', $menuItem['name'],
14 | isset($menuItem['title'])?$menuItem['title']:$menuItem['run'],
15 | array('run' => $menuItem['run']),
16 | false,
17 | array('width' => $menuItem['width'], 'height' => $menuItem['height'])
18 | ) .' ';
19 | }
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/_install/installer/views/scripts/error/error.phtml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Zend Framework Default Application
6 |
7 |
8 | An error occurred
9 | message ?>
10 |
11 | exception)): ?>
12 |
13 | Exception information:
14 |
15 | Message: exception->getMessage() ?>
16 |
17 |
18 | Stack trace:
19 | exception->getTraceAsString() ?>
20 |
21 |
22 | Request Parameters:
23 | request->getParams(), true) ?>
24 |
25 |
26 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/seotoaster_core/application/app/Widgets/Featured/views/farea-tags.phtml:
--------------------------------------------------------------------------------
1 | tags)): ?>
2 | translate('All'); ?> ,
3 | tags);?>
4 |
5 | $tag): ?>
6 |
9 | $tagsLength): ?>
10 | ,
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/seotoaster_core/application/views/scripts/backend/seo/sitemapindex.xml.phtml:
--------------------------------------------------------------------------------
1 | ';?>
2 | sitemaps) && !empty($this->sitemaps)): ?>
3 |
4 | sitemaps as $sitemapName => $sitemapData): ?>
5 |
6 | websiteUrl . $sitemapName . '.' . $sitemapData['extension'];?>
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/seotoaster_core/application/models/DbTable/PageHasOption.php:
--------------------------------------------------------------------------------
1 | Seotoaster core team
5 | * Date: 7/26/12
6 | * Time: 5:25 PM
7 | */
8 | class Application_Model_DbTable_PageHasOption extends Zend_Db_Table_Abstract {
9 |
10 | protected $_name = 'page_has_option';
11 |
12 | protected $_referenceMap = array(
13 | 'Page' => array(
14 | 'columns' => 'page_id',
15 | 'refTableClass' => 'Application_Model_DbTable_Page',
16 | 'refColumns' => 'id'
17 | ),
18 | 'Option' => array(
19 | 'columns' => 'option_id',
20 | 'refTableClass' => 'Application_Model_DbTable_PageOption',
21 | 'refColumns' => 'id'
22 | )
23 | );
24 |
25 | }
26 |
--------------------------------------------------------------------------------
/seotoaster_core/application/views/scripts/backend/page/loadpagefolders.phtml:
--------------------------------------------------------------------------------
1 | folders)): ?>
2 | folders as $folder): ?>
3 |
4 |
= $folder['name']; ?>
5 |
= $folder['url']; ?>
6 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/seotoaster_core/application/views/scripts/backend/search/results.phtml:
--------------------------------------------------------------------------------
1 | hits) && !empty($this->hits)): ?>
2 | hits as $hit): ?>
3 |
4 | useImage): ?>
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/seotoaster_core/application/app/Validators/UrlRegex.php:
--------------------------------------------------------------------------------
1 |
7 | */
8 | class Validators_UrlRegex extends Zend_Validate_Abstract {
9 |
10 | const URL = 'url';
11 |
12 | protected $_messageTemplates = array(
13 | self::URL => "'%value%' is not valid url"
14 | );
15 |
16 | public function isValid($value) {
17 | $validator = new Zend_Validate_Regex(array(
18 | 'pattern' => '~^(ht|f)tps?\://((\d{1,3}\.){3}\d{1,3}|([\w-]*\.){1,}[a-z]{2,10})(:\d{2,5})?(|/([\w\-.?,/+&%$#=\~])*(?_setValue($value);
22 | if (!$validator->isValid($value)) {
23 | $this->_error(self::URL);
24 | return false;
25 | }
26 | return true;
27 | }
28 | }
29 |
30 |
--------------------------------------------------------------------------------
/_install/revert-alters.sql:
--------------------------------------------------------------------------------
1 | -- 21/11/2013
2 | -- Main menu template type
3 | -- version: 2.1.0
4 | DELETE FROM `template_type` WHERE `id` = 'typemenu';
5 |
6 | -- 19/12/2013
7 | -- User attributes table added
8 | -- version: 2.1.1
9 | DROP TABLE `user_attributes`;
10 |
11 | -- 26/12/2013
12 | -- SEO Intro fields for optimized table
13 | -- version: 2.1.2
14 | ALTER TABLE `optimized` DROP `seo_intro`, DROP `seo_intro_target`;
15 |
16 | -- 29/01/2014
17 | -- reCAPTCHA refactoring
18 | -- version: 2.1.3
19 | UPDATE `config` SET `name` = 'recapthaPublicKey' WHERE `name` = 'recaptchaPublicKey';
20 | UPDATE `config` SET `name` = 'recapthaPrivateKey' WHERE `name` = 'recaptchaPrivateKey';
21 |
22 | -- These alters are always the latest and updated version of the database
23 | SELECT value FROM `config` WHERE name = 'version';
24 |
--------------------------------------------------------------------------------
/seotoaster_core/application/app/Helpers/Action/Mobile.php:
--------------------------------------------------------------------------------
1 |
7 | */
8 |
9 | class Helpers_Action_Mobile extends Zend_Controller_Action_Helper_Abstract {
10 |
11 | /**
12 | * @var Mobile_Detect
13 | */
14 | private $_instance;
15 |
16 | public function init(){
17 | if ($this->_instance === null){
18 | $this->_instance = new Mobile_Detect();
19 | }
20 | }
21 |
22 | public function __call($name, $arguments) {
23 | if (method_exists($this->_instance, $name)){
24 | return call_user_func_array(array($this->_instance, $name), $arguments);
25 | } else {
26 | return $this->_instance->__call($name, $arguments);
27 | }
28 | }
29 |
30 |
31 | }
--------------------------------------------------------------------------------
/_install/installer/views/scripts/_langs.phtml:
--------------------------------------------------------------------------------
1 |
13 |
--------------------------------------------------------------------------------
/seotoaster_core/application/models/Mappers/ConfigMapper.php:
--------------------------------------------------------------------------------
1 |
7 | */
8 | class Application_Model_Mappers_ConfigMapper extends Application_Model_Mappers_Abstract {
9 |
10 | protected $_dbTable = 'Application_Model_DbTable_Config';
11 |
12 | public function save($config) {
13 | if (!is_array($config) || empty ($config)){
14 | throw new Exceptions_SeotoasterException('Given parameter should be non empty array');
15 | }
16 |
17 | array_walk($config, function($value, $key, $dbTable){
18 | $dbTable->updateConfigParam($key, $value);
19 | }, $this->getDbTable());
20 |
21 | return true;
22 | }
23 |
24 | public function getConfig() {
25 | return $this->getDbTable()->selectConfig(); //->toArray();
26 | }
27 |
28 | }
--------------------------------------------------------------------------------
/seotoaster_core/application/app/MagicSpaces/Roleonly/Roleonly.php:
--------------------------------------------------------------------------------
1 | _params[0], FILTER_SANITIZE_STRING));
16 |
17 | $sessionHelper = Zend_Controller_Action_HelperBroker::getStaticHelper('session');
18 | $user = $sessionHelper->getCurrentUser();
19 | $roleId = $user->getRoleId();
20 | if (!in_array($roleId, $allowedRoles)) {
21 | return '';
22 | }
23 |
24 |
25 | return $this->_spaceContent;
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/system/js/external/tinymce5/plugins/hr/plugin.min.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) Tiny Technologies, Inc. All rights reserved.
3 | * Licensed under the LGPL or a commercial license.
4 | * For LGPL see License.txt in the project root for license information.
5 | * For commercial licenses see https://www.tiny.cloud/
6 | *
7 | * Version: 5.5.1 (2020-10-01)
8 | */
9 | !function(){"use strict";var n=tinymce.util.Tools.resolve("tinymce.PluginManager");n.add("hr",function(n){var o,t;(o=n).addCommand("InsertHorizontalRule",function(){o.execCommand("mceInsertContent",!1," ")}),(t=n).ui.registry.addButton("hr",{icon:"horizontal-rule",tooltip:"Horizontal line",onAction:function(){return t.execCommand("InsertHorizontalRule")}}),t.ui.registry.addMenuItem("hr",{icon:"horizontal-rule",text:"Horizontal line",onAction:function(){return t.execCommand("InsertHorizontalRule")}})})}();
--------------------------------------------------------------------------------
/seotoaster_core/application/views/scripts/backend/seo/siloslist.phtml:
--------------------------------------------------------------------------------
1 | silos) && !empty ($this->silos)): ?>
2 | silos as $key => $silo): ?>
3 |
4 |
5 |
getName(); ?>
6 |
9 |
10 |
11 |
12 | translate('You have no silos yet'); ?>
13 |
14 |
--------------------------------------------------------------------------------
/seotoaster_core/application/app/Tools/Content/Feed.php:
--------------------------------------------------------------------------------
1 |
7 | */
8 | class Tools_Content_Feed {
9 |
10 | /**
11 | * Sitemap feed related constants
12 | *
13 | */
14 | const SMFEED_HIGHPRIORITY_PAGE_URL = 'index.html';
15 | const SMFEED_CHANGEFREEQ = 'daily';
16 |
17 | const SMFEED_TYPE_REGULAR = '';
18 | const SMFEED_TYPE_INDEX = 'index';
19 |
20 | /**
21 | * Generates sitemap xml feed. According to the sitemap protocol described at sitemaps.org
22 | *
23 | * @see http://www.sitemaps.org/protocol.php
24 | * @deprecated
25 | * @return xml
26 | */
27 | public static function generateSitemapFeed() {}
28 |
29 | }
30 |
31 |
--------------------------------------------------------------------------------
/seotoaster_core/application/views/scripts/backend/content/files.phtml:
--------------------------------------------------------------------------------
1 | files)): ?>
2 | files as $file): ?>
3 |
10 |
11 |
12 | translate('You have no files yet...'); ?>
13 |
14 |
--------------------------------------------------------------------------------
/seotoaster_core/application/app/Widgets/Rss/views/rss.phtml:
--------------------------------------------------------------------------------
1 | feed) && !empty ($this->feed)): ?>
2 |
3 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/system/css/less/mixins/mixins-thumbnail.less:
--------------------------------------------------------------------------------
1 | // Thumbnail state style
2 | //==================================================
3 | .thumbnail-state(
4 | @radius : @thumbnail-border-radius;
5 | @border-width : @thumbnail-border-width;
6 | @border-color : @thumbnail-border-color;
7 | @background : @thumbnail-bg
8 | ) {
9 | position : relative;
10 | cursor : pointer;
11 | overflow : hidden;
12 | text-align : center;
13 | padding : @thumbnail-padding;
14 | background : @background;
15 | .border-radius(@radius);
16 | & when (@border-width > 0){
17 | border : @border-width solid @border-color;
18 | }
19 |
20 | &:hover{
21 | & when (@border-width > 0){
22 | border-color : @thumbnail-color-hover;
23 | }
24 | .box-shadow(3px 3px 3px @thumbnail-color-hover; @thumbnail-shadow-hover);
25 | }
26 | }
--------------------------------------------------------------------------------
/system/js/external/tinymce5/plugins/print/plugin.min.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) Tiny Technologies, Inc. All rights reserved.
3 | * Licensed under the LGPL or a commercial license.
4 | * For LGPL see License.txt in the project root for license information.
5 | * For commercial licenses see https://www.tiny.cloud/
6 | *
7 | * Version: 5.5.1 (2020-10-01)
8 | */
9 | !function(){"use strict";var n=tinymce.util.Tools.resolve("tinymce.PluginManager"),e=tinymce.util.Tools.resolve("tinymce.Env");n.add("print",function(n){var t,i;(t=n).addCommand("mcePrint",function(){e.browser.isIE()?t.getDoc().execCommand("print",!1,null):t.getWin().print()}),(i=n).ui.registry.addButton("print",{icon:"print",tooltip:"Print",onAction:function(){return i.execCommand("mcePrint")}}),i.ui.registry.addMenuItem("print",{text:"Print...",icon:"print",onAction:function(){return i.execCommand("mcePrint")}}),n.addShortcut("Meta+P","","mcePrint")})}();
--------------------------------------------------------------------------------
/seotoaster_core/application/app/Tools/Seo/GarbageCollector.php:
--------------------------------------------------------------------------------
1 |
7 | */
8 |
9 | class Tools_Seo_GarbageCollector extends Tools_System_GarbageCollector {
10 |
11 | protected function _runOnDefault() {
12 |
13 | }
14 |
15 | protected function _runOnDelete() {
16 | if($this->_object instanceof Application_Model_Models_Silo) {
17 | $this->_cleanSiloPages();
18 | }
19 | }
20 |
21 |
22 | /**
23 | * $this->_object represents Application_Model_Models_Silo
24 | */
25 | private function _cleanSiloPages() {
26 | $siloPages = $this->_object->getRelatedPages();
27 | if(!empty ($siloPages)) {
28 | array_map(function($page) {
29 | $page->setSiloId(0);
30 | Application_Model_Mappers_PageMapper::getInstance()->save($page);
31 | }, $siloPages);
32 | }
33 | }
34 | }
35 |
36 |
--------------------------------------------------------------------------------
/seotoaster_core/application/views/scripts/error/error.phtml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Zend Framework Default Application
6 |
7 |
8 | An error occurred
9 | message ?>
10 |
11 | exception)): ?>
12 |
13 | Exception information:
14 |
15 | Message: exception->getMessage() ?>
16 |
17 |
18 | Stack trace:
19 | exception->getTraceAsString() ?>
20 |
21 |
22 | Request Parameters:
23 | request->getParams(), true) ?>
24 |
25 |
26 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/seotoaster_core/application/app/Widgets/Pagebreak/Pagebreak.php:
--------------------------------------------------------------------------------
1 | _websiteHelper = Zend_Controller_Action_HelperBroker::getStaticHelper('website');
20 | $this->_sessionHelper = Zend_Controller_Action_HelperBroker::getStaticHelper('session');
21 | $this->_translator = Zend_Controller_Action_HelperBroker::getStaticHelper('language');
22 | $this->_view = new Zend_View(array('scriptPath' => __DIR__ . '/views'));
23 | }
24 |
25 | protected function _load()
26 | {
27 | return $this->_view->render('pagebreak.phtml');
28 | }
29 |
30 | }
31 |
32 |
--------------------------------------------------------------------------------
/seotoaster_core/application/models/Models/UserWhitelistIp.php:
--------------------------------------------------------------------------------
1 | _roleId;
16 | }
17 |
18 | /**
19 | * @param string $roleId
20 | */
21 | public function setRoleId($roleId)
22 | {
23 | $this->_roleId = $roleId;
24 | }
25 |
26 | /**
27 | * @return string
28 | */
29 | public function getIpAddress()
30 | {
31 | return $this->_ipAddress;
32 | }
33 |
34 | /**
35 | * @param string $ipAddress
36 | */
37 | public function setIpAddress($ipAddress)
38 | {
39 | $this->_ipAddress = $ipAddress;
40 | }
41 |
42 |
43 |
44 |
45 | }
46 |
47 |
--------------------------------------------------------------------------------
/seotoaster_core/application/app/Tools/Text/Tools.php:
--------------------------------------------------------------------------------
1 | translate("We've detected that you're running Apache server. Put following code to .htaccess file in seotoaster folder:");?>
2 |
3 |
4 | RewriteEngine On
5 |
11 | RewriteCond %{REQUEST_FILENAME} -s [OR]
12 | RewriteCond %{REQUEST_FILENAME} -l [OR]
13 | RewriteCond %{REQUEST_FILENAME} -d
14 | RewriteRule ^.*$ - [NC,L]
15 | RewriteRule ^.*$ index.php [NC,L]
16 |
17 |
--------------------------------------------------------------------------------
/seotoaster_core/application/views/scripts/backend/seo/robots.phtml:
--------------------------------------------------------------------------------
1 |
2 | partial('admin' . DIRECTORY_SEPARATOR . '_header.phtml', array('headerText' => 'Edit robots.txt', 'helpSection' => $this->helpSection)); ?>
3 |
16 |
17 |
--------------------------------------------------------------------------------
/system/css/less/toaster/widgets-plugins/wb-image-only.less:
--------------------------------------------------------------------------------
1 | #webbuilder-image-only-inner{
2 |
3 | #webbuilder-form-image-data{
4 | height : 105px;
5 | }
6 |
7 | #images-list{
8 | height : 435px;
9 | overflow : auto;
10 |
11 | >*{
12 | .grid-elements(5, 2, false, @responsive-column-tablet, @responsive-column-mobile, false);
13 |
14 | img{ }
15 | }
16 | }
17 |
18 | #webbuilder-main-image{
19 | height : 260px;
20 | line-height : 259px;
21 |
22 | img{
23 | max-height : 100%;
24 | width : auto;
25 | height : auto;
26 | }
27 | }
28 |
29 | .noimage{
30 | font-size : 64px;
31 | height : 440px;
32 | line-height : 440px;
33 | text-align : center;
34 | color : @gray-light;
35 | text-transform : uppercase;
36 | }
37 | }
--------------------------------------------------------------------------------
/seotoaster_core/application/app/Widgets/Meta/Meta.php:
--------------------------------------------------------------------------------
1 | _cacheTags, 'pageid_'.$this->_toasterOptions['id']);
16 | }
17 |
18 | protected function _load() {
19 | return $this->_getMetaContent();
20 | }
21 |
22 | private function _getMetaContent() {
23 | $metaType = current($this->_options);
24 | $metaContent = '';
25 | switch ($metaType) {
26 | case self::TYPE_KEYWORDS:
27 | $metaContent = $this->_toasterOptions['metaKeywords'];
28 | break;
29 | case self::TYPE_DESCRIPTION:
30 | $metaContent = $this->_toasterOptions['metaDescription'];
31 | break;
32 | }
33 | return strip_tags($metaContent);
34 | }
35 | }
36 |
37 |
--------------------------------------------------------------------------------
/seotoaster_core/application/app/Widgets/Search/views/form.phtml:
--------------------------------------------------------------------------------
1 |
15 |
--------------------------------------------------------------------------------
/seotoaster_core/application/forms/Upload.php:
--------------------------------------------------------------------------------
1 |
6 | */
7 | class Application_Form_Upload extends Zend_Form {
8 |
9 | public function init(){
10 |
11 | $this->setName('uploadForm')
12 | ->setMethod(self::METHOD_POST)
13 | ->setAttrib('id', 'toaster-uploader')
14 | ->setDecorators(array(
15 | array('ViewScript', array('viewScript' => 'admin/uploadForm.phtml'))
16 | ));
17 |
18 | $fileUpload = new Zend_Form_Element_File('file', array(
19 | 'label' => 'Upload',
20 | 'decorators' => array('File'),
21 | 'multiple' => true
22 | ));
23 |
24 | $this->addElement($fileUpload);
25 |
26 | $this->addElement('hidden', 'caller', array(
27 | 'decorators' => array('ViewHelper')
28 | ));
29 |
30 | $this->addElement('button', 'submit', array(
31 | 'label' => 'Upload',
32 | 'decorators' => array('ViewHelper')
33 | ));
34 |
35 | }
36 | }
--------------------------------------------------------------------------------
/seotoaster_core/application/app/Helpers/Action/Website.php:
--------------------------------------------------------------------------------
1 | _getParam('url'));
9 | return Zend_Controller_Front::getInstance()->getRequest()->getScheme() . '://' . $url;
10 | }
11 |
12 | public function getDefaultPage() {
13 | return self::DEFAULT_PAGE;
14 | }
15 |
16 | public function __call($name, $arguments) {
17 | $name = str_replace('get', '', $name);
18 | if(($param = $this->_getParam(strtolower($name))) == '') {
19 | return $this->_getParam(lcfirst($name));
20 | }
21 | return $param;
22 | }
23 |
24 | private function _getParam($name) {
25 | $websiteData = Zend_Registry::get('website');
26 | return isset($websiteData[$name]) ? $websiteData[$name] : '';
27 | }
28 | }
29 |
30 |
--------------------------------------------------------------------------------
/system/js/internal/sculpting.min.js:
--------------------------------------------------------------------------------
1 | $(function(){$("#addSilo-label").hide();loadSculptingData();$(document).on("change",".silo-select",function(){var b=$(this).attr("id"),a=$(this).val();showSpinner(this);$.post($("#website_url").val()+"backend/backend_seo/addsilotopage/",{pid:b,sid:a},function(a){hideSpinner();showMessage("undefined"!=typeof a.responseText?a.responseText:"Added")})});$(document).on("click","input.silo-this-cat",function(){var b=$(this).val(),a=$("#website_url").val();showSpinner(this);a=$(this).prop("checked")?a+"backend/backend_seo/silocat/act/add/":
2 | a+"backend/backend_seo/silocat/act/remove/";$.post(a,{cid:b,secureToken:$(".secureToken").val()},function(){loadSculptingData()})})});sculptingCallback=function(){$("#silo-name").val("");loadSculptingData()};var loadSculptingData=function(){showSpinner();$.getJSON($("#website_url").val()+"backend/backend_seo/loadsculptingdata",function(b){hideSpinner();$("#sculpting-list").html(b.sculptingList);checkboxRadioStyle()})};
3 |
--------------------------------------------------------------------------------
/seotoaster_core/application/models/Models/Seodata.php:
--------------------------------------------------------------------------------
1 |
7 | */
8 | class Application_Model_Models_Seodata extends Application_Model_Models_Abstract {
9 |
10 | protected $_seoHead = '';
11 |
12 | protected $_seoBottom = '';
13 |
14 | protected $_seoTop = '';
15 |
16 | public function getSeoHead() {
17 | return $this->_seoHead;
18 | }
19 |
20 | public function setSeoHead($seoHead) {
21 | $this->_seoHead = $seoHead;
22 | return $this;
23 | }
24 |
25 | public function getSeoBottom() {
26 | return $this->_seoBottom;
27 | }
28 |
29 | public function setSeoBottom($seoBottom) {
30 | $this->_seoBottom = $seoBottom;
31 | return $this;
32 | }
33 |
34 | public function getSeoTop() {
35 | return $this->_seoTop;
36 | }
37 |
38 | public function setSeoTop($seoTop) {
39 | $this->_seoTop = $seoTop;
40 | return $this;
41 | }
42 | }
43 |
44 |
--------------------------------------------------------------------------------
/seotoaster_core/application/app/Tools/System/Observable.php:
--------------------------------------------------------------------------------
1 | _observers[] = $observer;
9 | return $this;
10 | }
11 |
12 | public function removeObserver($observer) {
13 | if(!is_array($this->_observers) || empty($this->_observers)) {
14 | return $this;
15 | }
16 | $this->_observers = array_filter($this->_observers, function($currentObserver) use($observer) {
17 | return !$currentObserver instanceof $observer;
18 | });
19 |
20 | return $this;
21 | }
22 |
23 | public function notifyObservers() {
24 | foreach($this->_observers as $observer) {
25 | $observer->notify($this);
26 | }
27 | }
28 |
29 | public function removeAllObservers() {
30 | $this->_observers = array();
31 | return $this;
32 | }
33 | }
34 |
35 |
--------------------------------------------------------------------------------
/seotoaster_core/application/controllers/Backend/ApiController.php:
--------------------------------------------------------------------------------
1 |
5 | */
6 | class Backend_ApiController extends Zend_Controller_Action {
7 |
8 | public function init(){
9 | parent::init();
10 | $this->_helper->layout->disableLayout();
11 | $this->_helper->viewRenderer->setNoRender(true);
12 | }
13 |
14 | public function indexAction(){
15 | $plugin = filter_var($this->_request->getParam('plugin'), FILTER_SANITIZE_STRING);
16 | $service = filter_var($this->_request->getParam('service'), FILTER_SANITIZE_STRING);
17 |
18 | if (empty($plugin) && empty($service)){
19 | $this->_response->clearAllHeaders()->clearBody();
20 | $this->_response->setHttpResponseCode(403)->sendResponse();
21 | }
22 |
23 | $service = Tools_Factory_RestServiceFactory::createService($plugin, $service);
24 | if ($service instanceof Api_Service_Abstract) {
25 | return $service->dispatch();
26 | }
27 |
28 | }
29 |
30 | }
31 |
--------------------------------------------------------------------------------
/system/js/external/jquery/plugins/cycle/jquery.cycle2.shuffle.min.js:
--------------------------------------------------------------------------------
1 | /* Plugin for Cycle2; Copyright (c) 2012 M. Alsup; v20141007 */
2 | !function(a){"use strict";a.fn.cycle.transitions.shuffle={transition:function(b,c,d,e,f){function g(a){this.stack(b,c,d,e),a()}a(d).css({display:"block",visibility:"visible"});var h=b.container.css("overflow","visible").width(),i=b.speed/2,j=e?c:d;b=b.API.getSlideOpts(e?b.currSlide:b.nextSlide);var k={left:-h,top:15},l=b.slideCss||{left:0,top:0};void 0!==b.shuffleLeft?k.left=k.left+parseInt(b.shuffleLeft,10)||0:void 0!==b.shuffleRight&&(k.left=h+parseInt(b.shuffleRight,10)||0),b.shuffleTop&&(k.top=b.shuffleTop),a(j).animate(k,i,b.easeIn||b.easing).queue("fx",a.proxy(g,this)).animate(l,i,b.easeOut||b.easing,f)},stack:function(b,c,d,e){var f,g;if(e)b.API.stackSlides(d,c,e),a(c).css("zIndex",1);else{for(g=1,f=b.nextSlide-1;f>=0;f--)a(b.slides[f]).css("zIndex",g++);for(f=b.slideCount-1;f>b.nextSlide;f--)a(b.slides[f]).css("zIndex",g++);a(d).css("zIndex",b.maxZ),a(c).css("zIndex",b.maxZ-1)}}}}(jQuery);
3 |
--------------------------------------------------------------------------------
/seotoaster_core/application/models/Models/PageOption.php:
--------------------------------------------------------------------------------
1 | _id = $id;
15 | return $this;
16 | }
17 |
18 | public function setActive($active) {
19 | $this->_active = $active;
20 | return $this;
21 | }
22 |
23 | public function getActive() {
24 | return $this->_active;
25 | }
26 |
27 | public function setContext($context) {
28 | $this->_context = $context;
29 | return $this;
30 | }
31 |
32 | public function getContext() {
33 | return $this->_context;
34 | }
35 |
36 | public function setTitle($title) {
37 | $this->_title = $title;
38 | return $this;
39 | }
40 |
41 | public function getTitle() {
42 | return $this->_title;
43 | }
44 | }
45 |
--------------------------------------------------------------------------------
/seotoaster_core/application/app/Widgets/Seo/Seo.php:
--------------------------------------------------------------------------------
1 | _options);
7 | $rendererName = '_renderSeo' . ucfirst($widgetType);
8 | if(method_exists($this, $rendererName)) {
9 | return $this->$rendererName($this->_options);
10 | }
11 | throw new Exceptions_SeotoasterWidgetException($this->_translator->translate('Wrong seo widget type'));
12 | }
13 |
14 | // public static function getAllowedOptions() {
15 | // $translator = Zend_Registry::get('Zend_Translate');
16 | // return array(
17 | // array(
18 | // 'alias' => $translator->translate('Seo top content'),
19 | // 'option' => 'seo:top'
20 | // ),
21 | // array(
22 | // 'alias' => $translator->translate('Seo bottom content'),
23 | // 'option' => 'seo:bottom'
24 | // )
25 | // );
26 | // }
27 |
28 | private function _renderSeoTop() {
29 | return '';
30 | }
31 |
32 | private function _renderSeoBottom() {
33 | return '';
34 | }
35 | }
36 |
37 |
--------------------------------------------------------------------------------
/seotoaster_core/application/app/MagicSpaces/Remoteauthorization/Remoteauthorization.php:
--------------------------------------------------------------------------------
1 | getCurrentUser();
18 | $userId = $currentUser->getId();
19 |
20 | $usersMapper = Application_Model_Mappers_UserMapper::getInstance();
21 | $userModel = $usersMapper->find($userId);
22 | if (!$userModel instanceof Application_Model_Models_User) {
23 | return '';
24 | } else {
25 | $allowed = $userModel->getAllowRemoteAuthorization();
26 | if (!empty($allowed)) {
27 | return $this->_spaceContent;
28 | }
29 | return '';
30 | }
31 | }
32 |
33 | }
--------------------------------------------------------------------------------
/system/js/internal/featuredarea.min.js:
--------------------------------------------------------------------------------
1 | $(function(){$("#addFeaturedArea-label").hide();loadFaList();$(document).on("click","input.add-page",function(){showSpinner("#fa-list");var a=$("#fa-list [type=checkbox]:checked");$(".featured-link").html(a.length?' Page was added '+a.length+' times in tags ':' Tag this page ');var a=$("#pageId").val(),c=$(this).attr("id"),
2 | b=$(".pcount-"+c),d=$(this).prop("checked")?"addpagetofa/":"rempagefromfa/",e=$(this);$.post($("#website_url").val()+"backend/backend_featured/"+d,{pid:a,faid:c,secureToken:$("#frm-page").find(".secureToken").val()},function(a){hideSpinner();showMessage(a.responseText);b.text(e.prop("checked")?parseInt(b.text())+1:parseInt(b.text())-1)})})});
3 | function loadFaList(){$.getJSON($("#website_url").val()+"backend/backend_featured/loadfalist/pid/"+$("#pageId").val(),function(a){$("#fa-list").html(a.faList);$("#fa-name").val("");checkboxRadioStyle()})};
4 |
--------------------------------------------------------------------------------
/seotoaster_core/application/views/scripts/backend/content/header.phtml:
--------------------------------------------------------------------------------
1 |
2 | partial('admin' . DIRECTORY_SEPARATOR . '_header.phtml', array('innerHeaderHtml' => 'Edit header', 'helpSection' => $this->helpSection)); ?>
3 |
14 |
--------------------------------------------------------------------------------
/system/js/external/tinymce/skins/seotoaster/content.inline.min.css:
--------------------------------------------------------------------------------
1 | .mce-object{border:1px dotted #3A3A3A;background:#d5d5d5 url(img/object.gif) no-repeat center}.mce-pagebreak{cursor:default;display:block;border:0;width:100%;height:5px;border:1px dashed #666;margin-top:15px;page-break-before:always}@media print{.mce-pagebreak{border:0px}}.mce-item-anchor{cursor:default;display:inline-block;-webkit-user-select:all;-webkit-user-modify:read-only;-moz-user-select:all;-moz-user-modify:read-only;user-select:all;user-modify:read-only;width:9px !important;height:9px !important;border:1px dotted #3A3A3A;background:#d5d5d5 url(img/anchor.gif) no-repeat center}.mce-nbsp{background:#AAA}hr{cursor:default}.mce-match-marker{background:#AAA;color:#fff}.mce-match-marker-selected{background:#3399ff;color:#fff}.mce-spellchecker-word{border-bottom:2px solid #F00;cursor:default}.mce-spellchecker-grammar{border-bottom:2px solid #008000;cursor:default}.mce-item-table,.mce-item-table td,.mce-item-table th,.mce-item-table caption{border:1px dashed #BBB}td.mce-item-selected,th.mce-item-selected{background-color:#3399ff !important}
--------------------------------------------------------------------------------
/seotoaster_core/application/app/Widgets/Pwa/views/a2hs.phtml:
--------------------------------------------------------------------------------
1 | = $this->buttonText; ?>
2 |
26 |
--------------------------------------------------------------------------------
/system/css/less/packages/control_panel.less:
--------------------------------------------------------------------------------
1 | // Table of Content
2 | //==================================================
3 | // CPanel Pages
4 | // CPanel Media
5 | // CPanel SEO
6 | // CPanel Layout
7 | // CPanel Other
8 | // CPanel News
9 | // CPanel WebSite Id Card
10 | //==================================================
11 |
12 | // CPanel Pages
13 | //==================================================
14 | @import "../toaster/control-panel/cp-pages";
15 |
16 | // CPanel Media
17 | //==================================================
18 | @import "../toaster/control-panel/cp-media";
19 |
20 | // CPanel SEO
21 | //==================================================
22 | @import "../toaster/control-panel/cp-seo";
23 |
24 | // CPanel Layout
25 | //==================================================
26 | @import "../toaster/control-panel/cp-layout";
27 |
28 | // CPanel Other
29 | //==================================================
30 | @import "../toaster/control-panel/cp-other";
31 |
32 | // CPanel News
33 | //==================================================
34 | @import "../toaster/control-panel/cp-news";
--------------------------------------------------------------------------------
/_install/index.php:
--------------------------------------------------------------------------------
1 | bootstrap()->run();
--------------------------------------------------------------------------------
/seotoaster_core/application/app/Tools/Factory/RestServiceFactory.php:
--------------------------------------------------------------------------------
1 | www.ioncube.com/loaders.php or request your web host to do it for you.');
11 | }
12 | $zendLoader = Zend_Loader_Autoloader::getInstance();
13 | $zendLoader->suppressNotFoundWarnings(true);
14 | if ($zendLoader->autoload($serviceClassName)){
15 | $frontController = Zend_Controller_Front::getInstance();
16 | return new $serviceClassName($frontController->getRequest(), $frontController->getResponse());
17 | }
18 | return false;
19 | }
20 |
21 | }
22 |
23 |
--------------------------------------------------------------------------------
/seotoaster_core/application/models/Models/FormPageConversion.php:
--------------------------------------------------------------------------------
1 | _pageId;
23 | }
24 |
25 | public function setPageId($pageId) {
26 | $this->_pageId = $pageId;
27 | return $this;
28 | }
29 |
30 | public function getFormName() {
31 | return $this->_formName;
32 | }
33 |
34 | public function setFormName($formName) {
35 | $this->_formName = $formName;
36 | return $this;
37 | }
38 |
39 | public function getConversionCode() {
40 | return $this->_conversionCode;
41 | }
42 |
43 | public function setConversionCode($conversionCode) {
44 | $this->_conversionCode = $conversionCode;
45 | return $this;
46 | }
47 |
48 | }
49 |
50 |
--------------------------------------------------------------------------------
/system/css/less/elements/message.less:
--------------------------------------------------------------------------------
1 | // Message styles
2 | // -------------------------
3 | .message{
4 | display : block;
5 | padding : @padding-base-vertical @padding-base-horizontal;
6 | border : 1px solid;
7 | border-left-width : 3px;
8 | .border-radius(@state-border-radius);
9 | .alert-color(@state-primary-color, @state-primary-bg, @state-primary-border);
10 |
11 | // Alternate styles
12 | // -------------------------
13 | &.success when (@alert-color-success = true) and (@alert-colors = true){
14 | .alert-color(@state-success-color, @state-success-bg, @state-success-border);
15 | }
16 | &.warning when (@alert-color-warning = true) and (@alert-colors = true){
17 | .alert-color(@state-warning-color, @state-warning-bg, @state-warning-border);
18 | }
19 | &.error when (@alert-color-error = true) and (@alert-colors = true){
20 | .alert-color(@state-error-color, @state-error-bg, @state-error-border);
21 | }
22 | &.info when (@alert-color-info = true) and (@alert-colors = true){
23 | .alert-color(@state-info-color, @state-info-bg, @state-info-border);
24 | }
25 | }
--------------------------------------------------------------------------------
/system/js/external/tinymce/plugins/save/plugin.min.js:
--------------------------------------------------------------------------------
1 | tinymce.PluginManager.add("save",function(e){function a(){var a;return a=tinymce.DOM.getParent(e.id,"form"),!e.getParam("save_enablewhendirty",!0)||e.isDirty()?(tinymce.triggerSave(),e.getParam("save_onsavecallback")?void(e.execCallback("save_onsavecallback",e)&&(e.startContent=tinymce.trim(e.getContent({format:"raw"})),e.nodeChanged())):void(a?(e.isNotDirty=!0,(!a.onsubmit||a.onsubmit())&&("function"==typeof a.submit?a.submit():e.windowManager.alert("Error: Form submit field collision.")),e.nodeChanged()):e.windowManager.alert("Error: No form element found."))):void 0}function n(){var a=tinymce.trim(e.startContent);return e.getParam("save_oncancelcallback")?void e.execCallback("save_oncancelcallback",e):(e.setContent(a),e.undoManager.clear(),void e.nodeChanged())}function t(){var a=this;e.on("nodeChange",function(){a.disabled(e.getParam("save_enablewhendirty",!0)&&!e.isDirty())})}e.addCommand("mceSave",a),e.addCommand("mceCancel",n),e.addButton("save",{icon:"save",text:"Save",cmd:"mceSave",disabled:!0,onPostRender:t}),e.addButton("cancel",{text:"Cancel",icon:!1,cmd:"mceCancel",disabled:!0,onPostRender:t}),e.addShortcut("ctrl+s","","mceSave")});
--------------------------------------------------------------------------------
/system/js/external/tinymce/plugins/visualblocks/plugin.min.js:
--------------------------------------------------------------------------------
1 | tinymce.PluginManager.add("visualblocks",function(e,s){function o(){var s=this;s.active(a),e.on("VisualBlocks",function(){s.active(e.dom.hasClass(e.getBody(),"mce-visualblocks"))})}var l,t,a;window.NodeList&&(e.addCommand("mceVisualBlocks",function(){var o,c=e.dom;l||(l=c.uniqueId(),o=c.create("link",{id:l,rel:"stylesheet",href:s+"/css/visualblocks.css"}),e.getDoc().getElementsByTagName("head")[0].appendChild(o)),e.on("PreviewFormats AfterPreviewFormats",function(s){a&&c.toggleClass(e.getBody(),"mce-visualblocks","afterpreviewformats"==s.type)}),c.toggleClass(e.getBody(),"mce-visualblocks"),a=e.dom.hasClass(e.getBody(),"mce-visualblocks"),t&&t.active(c.hasClass(e.getBody(),"mce-visualblocks")),e.fire("VisualBlocks")}),e.addButton("visualblocks",{title:"Show blocks",cmd:"mceVisualBlocks",onPostRender:o}),e.addMenuItem("visualblocks",{text:"Show blocks",cmd:"mceVisualBlocks",onPostRender:o,selectable:!0,context:"view",prependToContext:!0}),e.on("init",function(){e.settings.visualblocks_default_state&&e.execCommand("mceVisualBlocks",!1,null,{skip_focus:!0})}),e.on("remove",function(){e.dom.removeClass(e.getBody(),"mce-visualblocks")}))});
--------------------------------------------------------------------------------
/seotoaster_core/application/forms/Silo.php:
--------------------------------------------------------------------------------
1 |
7 | */
8 | class Application_Form_Silo extends Application_Form_Secure {
9 |
10 | protected $_name = '';
11 |
12 | public function init() {
13 | parent::init();
14 | $this->setMethod(Zend_Form::METHOD_POST);
15 |
16 | $this->addElement(new Zend_Form_Element_Text(array(
17 | 'id' => 'silo-name',
18 | 'name' => 'name',
19 | 'label' => 'Silo name',
20 | 'value' => $this->_name,
21 | 'required' => true,
22 | 'class' => 'grid_9 alpha omega',
23 | 'filters' => array('StringTrim')
24 | )));
25 |
26 | $this->addElement(new Zend_Form_Element_Button(array(
27 | 'name' => 'addSilo',
28 | 'id' => 'add-silo',
29 | 'value' => 'Add silo',
30 | 'class' => 'btn ticon-plus grid_3 alpha omega mt0px',
31 | 'label' => 'Add silo',
32 | 'type' => 'submit'
33 | )));
34 |
35 | $this->setElementDecorators(array('ViewHelper', 'Label'));
36 |
37 | $this->getElement('addSilo')->setDecorators(array('ViewHelper'));
38 |
39 | }
40 |
41 | }
42 |
43 |
--------------------------------------------------------------------------------
/seotoaster_core/application/views/scripts/index/404page.phtml:
--------------------------------------------------------------------------------
1 | doctype(); ?>
2 |
3 |
4 | Page not found
5 |
6 |
7 |
8 |
Error 404. Page not found.
9 |
Sorry, but the page you were looking for can't be found.
10 | role)): ?>
11 |
12 | You can customize this page - just create a page and assign it as 404 error page
13 | Select "Our error 404 “Not found” page" from dropdown "This page is ..." on the create/update page screen.
14 |
15 |
16 |
back to home page
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/system/js/external/tinymce5/plugins/code/plugin.min.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) Tiny Technologies, Inc. All rights reserved.
3 | * Licensed under the LGPL or a commercial license.
4 | * For LGPL see License.txt in the project root for license information.
5 | * For commercial licenses see https://www.tiny.cloud/
6 | *
7 | * Version: 5.5.1 (2020-10-01)
8 | */
9 | !function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager"),o=function(o){var e=o.getContent({source_view:!0});o.windowManager.open({title:"Source Code",size:"large",body:{type:"panel",items:[{type:"textarea",name:"code"}]},buttons:[{type:"cancel",name:"cancel",text:"Cancel"},{type:"submit",name:"save",text:"Save",primary:!0}],initialData:{code:e},onSubmit:function(e){var t,n;t=o,n=e.getData().code,t.focus(),t.undoManager.transact(function(){t.setContent(n)}),t.selection.setCursorLocation(),t.nodeChanged(),e.close()}})};e.add("code",function(e){var t,n;return(t=e).addCommand("mceCodeEditor",function(){o(t)}),(n=e).ui.registry.addButton("code",{icon:"sourcecode",tooltip:"Source code",onAction:function(){return o(n)}}),n.ui.registry.addMenuItem("code",{icon:"sourcecode",text:"Source code",onAction:function(){return o(n)}}),{}})}();
--------------------------------------------------------------------------------
/seotoaster_core/application/forms/Code.php:
--------------------------------------------------------------------------------
1 |
12 | */
13 | class Application_Form_Code extends Application_Form_Container {
14 |
15 | public function init() {
16 |
17 | if(!$this->_containerType) {
18 | $this->_containerType = Application_Model_Models_Container::TYPE_REGULARCONTENT;
19 | }
20 |
21 | $this->addElement('textarea', 'content', array(
22 | 'id' => 'content',
23 | 'cols' => '85',
24 | 'rows' => '27',
25 | 'class' => 'code-content',
26 | 'value' => $this->_content,
27 | 'filters' => array('StringTrim')
28 | ));
29 |
30 | $this->addAttribs(array(
31 | 'class' => '_fajax _reload'
32 | ));
33 |
34 | parent::init();
35 |
36 | $this->getElement('content')->setDecorators(array(
37 | 'ViewHelper',
38 | 'Errors',
39 | array(
40 | array('data' => 'HtmlTag'),
41 | array('tag' => 'div', 'id' => 'edit_code', 'style' => "height: 450px")
42 | )
43 | ));
44 | }
45 |
46 | }
47 |
48 |
--------------------------------------------------------------------------------
/seotoaster_core/application/views/helpers/ToasterFrame.php:
--------------------------------------------------------------------------------
1 | _initDefaults($params);
13 | return '';
20 | }
21 |
22 | private function _initDefaults($params) {
23 | return array(
24 | 'width' => isset($params['width']) ? $params['width'] : '100%',
25 | 'height' => isset($params['height']) ? $params['height'] : '100%',
26 | 'frameborder' => isset($params['frameborder']) ? $params['frameborder'] : 'no',
27 | );
28 | }
29 | }
--------------------------------------------------------------------------------
/seotoaster_core/application/views/scripts/admin/_draftorlive.phtml:
--------------------------------------------------------------------------------
1 |
2 | published) ? 'checked="checked"' : ''; ?> name="published" value="published) ? '1' : '0'; ?>" />
3 | translate($this->publishedLabel);?>
4 |
5 | translate($this->publishAtLabel);?>:
6 | datePicker(
7 | 'datepicker',
8 | ((intval($this->publishAt)) ? date('M j, Y', strtotime($this->publishAt)) : ''),
9 | array(
10 | 'defaultDate' => '',
11 | 'onSelect' => (isset($this->onselectCallback)) ? new Zend_Json_Expr($this->onselectCallback) : '',
12 | 'dateFormat' => 'M d, yy'
13 | ),
14 | array(
15 | 'style' => 'width:100px;',
16 | 'class' => 'small'
17 | ));
18 | ?>
19 |
20 |
--------------------------------------------------------------------------------
/seotoaster_core/application/app/Widgets/Content/views/ajax.phtml:
--------------------------------------------------------------------------------
1 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/seotoaster_core/application/app/Tools/Factory/WidgetFactory.php:
--------------------------------------------------------------------------------
1 | addElement(
10 | 'text',
11 | 'content',
12 | array(
13 | 'id' => 'content',
14 | 'value' => $this->_content,
15 | 'filters' => array('StringTrim'),
16 | 'class' => 'header-content'
17 | )
18 | );
19 |
20 | $this->addElement(
21 | 'button',
22 | 'submit',
23 | array(
24 | 'type' => 'submit',
25 | 'id' => 'btn-submit',
26 | 'label' => 'Save content',
27 | 'class' => 'formsubmit mt15px',
28 | 'ignore' => true
29 | )
30 | );
31 |
32 | parent::init();
33 |
34 | if (!$this->_containerType) {
35 | $this->_containerType = Application_Model_Models_Container::TYPE_REGULARHEADER;
36 | }
37 |
38 | $classes = $this->getAttrib('class');
39 | $classes .= ' _fajax _reload';
40 | $this->setAttrib('class', $classes);
41 | }
42 | }
43 |
--------------------------------------------------------------------------------
/seotoaster_core/application/views/scripts/backend/page/listpages.html.phtml:
--------------------------------------------------------------------------------
1 |
7 |
8 | responseData && is_array($this->responseData)): ?>
9 |
10 | responseData as $number => $page): ?>
11 |
12 | #
13 |
14 |
15 |
16 |
17 |
18 |
19 | translate('There are no pages with this template!'); ?>
20 |
21 |
22 |
--------------------------------------------------------------------------------
/seotoaster_core/application/views/scripts/admin/_header.phtml:
--------------------------------------------------------------------------------
1 | headerText) || !empty($this->innerHeaderHtml)): ?>
2 |
29 |
--------------------------------------------------------------------------------
/seotoaster_core/application/views/scripts/backend/featured/falist.phtml:
--------------------------------------------------------------------------------
1 | faeaturedAreas) && is_array($this->faeaturedAreas)): ?>
2 |
3 | faeaturedAreas as $fa): ?>
4 |
5 |
6 | getId(), $this->currentFareasIds)) ? 'checked="checked"' : ''; ?>/>
7 | (getPages()); ?> )
8 |
9 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/seotoaster_core/application/views/scripts/backend/seo/deeplinkslist.phtml:
--------------------------------------------------------------------------------
1 | deeplinks)): ?>
2 | deeplinks as $deeplink): ?>
3 |
4 |
5 |
6 |
7 |
getName(); ?>
8 |
getType() == Application_Model_Models_Deeplink::TYPE_INTERNAL) ? $this->websiteUrl . $deeplink->getUrl() : $deeplink->getUrl(); ?>
9 |
getNofollow()) ? $this->translate('No follow') : $this->translate('Follow'); ?>
10 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/seotoaster_core/application/models/Models/FormBlacklistRules.php:
--------------------------------------------------------------------------------
1 | _type;
26 | }
27 |
28 | /**
29 | * @param string $type
30 | * @return string
31 | */
32 | public function setType($type)
33 | {
34 | $this->_type = $type;
35 |
36 | return $this;
37 | }
38 |
39 | /**
40 | * @return string
41 | */
42 | public function getValue()
43 | {
44 | return $this->_value;
45 | }
46 |
47 | /**
48 | * @param string $value
49 | * @return string
50 | */
51 | public function setValue($value)
52 | {
53 | $this->_value = $value;
54 |
55 | return $this;
56 | }
57 |
58 |
59 | }
60 |
61 |
--------------------------------------------------------------------------------
/system/js/external/tinymce/plugins/advlist/plugin.min.js:
--------------------------------------------------------------------------------
1 | tinymce.PluginManager.add("advlist",function(t){function e(t,e){var n=[];return tinymce.each(e.split(/[ ,]/),function(t){n.push({text:t.replace(/\-/g," ").replace(/\b\w/g,function(t){return t.toUpperCase()}),data:"default"==t?"":t})}),n}function n(e,n){var o,l=t.dom,a=t.selection;o=l.getParent(a.getNode(),"ol,ul"),o&&o.nodeName==e&&n!==!1||t.execCommand("UL"==e?"InsertUnorderedList":"InsertOrderedList"),n=n===!1?i[e]:n,i[e]=n,o=l.getParent(a.getNode(),"ol,ul"),o&&n&&(l.setStyle(o,"listStyleType",n),o.removeAttribute("data-mce-style")),t.focus()}function o(e){var n=t.dom.getStyle(t.dom.getParent(t.selection.getNode(),"ol,ul"),"listStyleType")||"";e.control.items().each(function(t){t.active(t.settings.data===n)})}var l,a,i={};l=e("OL",t.getParam("advlist_number_styles","default,lower-alpha,lower-greek,lower-roman,upper-alpha,upper-roman")),a=e("UL",t.getParam("advlist_bullet_styles","default,circle,disc,square")),t.addButton("numlist",{type:"splitbutton",tooltip:"Numbered list",menu:l,onshow:o,onselect:function(t){n("OL",t.control.settings.data)},onclick:function(){n("OL",!1)}}),t.addButton("bullist",{type:"splitbutton",tooltip:"Bullet list",menu:a,onshow:o,onselect:function(t){n("UL",t.control.settings.data)},onclick:function(){n("UL",!1)}})});
--------------------------------------------------------------------------------
/seotoaster_core/application/app/MagicSpaces/Device/Device.php:
--------------------------------------------------------------------------------
1 | _params[0])) {
12 | return $this->_spaceContent;
13 | }
14 | $devices = explode(',', preg_replace('/\s+/u', '', $this->_params[0]));
15 | if(empty($devices)) {
16 | return '';
17 | }
18 |
19 | if (isset($sessionHelper->mobileSwitch)) {
20 | $isMobile = $sessionHelper->mobileSwitch;
21 | } else {
22 | $isMobile = $mobileHelper->isMobile();
23 | }
24 |
25 | if ($isMobile) {
26 | $deviceType = $mobileHelper->isTablet() ? Widgets_Mobile_Mobile::MODE_TABLET : Widgets_Mobile_Mobile::MODE_MOBILE ;
27 | } else {
28 | $deviceType = Widgets_Mobile_Mobile::MODE_DESKTOP;
29 | }
30 | if (!in_array($deviceType, $devices)) {
31 | return '';
32 | }
33 | }
34 |
35 | }
--------------------------------------------------------------------------------
/seotoaster_core/application/forms/Css.php:
--------------------------------------------------------------------------------
1 |
6 | */
7 | class Application_Form_Css extends Application_Form_Secure {
8 | protected $_content = '';
9 | protected $_cssList = '';
10 |
11 | public function init() {
12 | parent::init();
13 | $this->setMethod(Zend_Form::METHOD_POST);
14 | $this->setAttrib('id', 'editcssform');
15 |
16 | $this->addElement('select', 'cssname', array(
17 | 'required' => true,
18 | 'id' => 'csslist',
19 | 'class' => 'w70'
20 | ));
21 | $this->getElement('cssname')->setDisableTranslator(true);
22 |
23 | $this->addElement('textarea', 'content', array(
24 | 'id' => 'csscontent',
25 | 'required' => true,
26 | 'allowEmpty' => true,
27 | 'spellcheck' => 'false',
28 | 'value' => $this->_content
29 | ));
30 |
31 | $this->addElement(new Zend_Form_Element_Button(array(
32 | 'type' => 'submit',
33 | 'name' => 'submit',
34 | 'label' => 'Save CSS',
35 | 'class' => 'btn ticon-save formsubmit',
36 | 'ignore' => true,
37 | 'escape' => false
38 | )));
39 |
40 | $this->setDecorators(array('ViewScript'))
41 | ->setElementDecorators(array('ViewHelper'))
42 | ->setElementFilters(array('StringTrim'));
43 | }
44 | }
--------------------------------------------------------------------------------
/seotoaster_core/application/forms/Login.php:
--------------------------------------------------------------------------------
1 | setMethod(Zend_Form::METHOD_POST);
9 |
10 | $this->setAttribs(array(
11 | 'id' => 'login-form'
12 | ));
13 |
14 | $this->addElement('text', 'email', array(
15 | 'label' => 'E-mail',
16 | 'aria-label' => 'E-mail',
17 | 'required' => true,
18 | 'filters' => array('StringTrim'),
19 | 'validators' => array(new Tools_System_CustomEmailValidator())
20 | ));
21 |
22 | $this->addElement('password', 'password', array(
23 | 'label' => 'Password',
24 | 'required' => true,
25 | 'aria-label' => 'Password',
26 | //'placeholder' => '********',
27 | ));
28 |
29 | $this->addElement('hidden', 'secureToken', array(
30 | 'required' => true
31 | ));
32 |
33 | $this->addElement(new Zend_Form_Element_Button(array(
34 | 'name' => 'submit',
35 | 'ignore' => true,
36 | 'label' => 'Let me in',
37 | 'type' => 'submit',
38 | 'aria-label' => 'Let me in'
39 | )));
40 |
41 | $this->removeDecorator('DtDdWrapper');
42 | $this->removeDecorator('DlWrapper');
43 | }
44 |
45 |
46 | }
47 |
--------------------------------------------------------------------------------
/system/js/external/jquery/plugins/cycle/jquery.cycle2.swipe.min.js:
--------------------------------------------------------------------------------
1 | /* Plugin for Cycle2; Copyright (c) 2012 M. Alsup; v20141007 */
2 | !function(a){"use strict";a.event.special.swipe=a.event.special.swipe||{scrollSupressionThreshold:10,durationThreshold:1e3,horizontalDistanceThreshold:30,verticalDistanceThreshold:75,setup:function(){var b=a(this);b.bind("touchstart",function(c){function d(b){if(g){var c=b.originalEvent.touches?b.originalEvent.touches[0]:b;e={time:(new Date).getTime(),coords:[c.pageX,c.pageY]},Math.abs(g.coords[0]-e.coords[0])>a.event.special.swipe.scrollSupressionThreshold&&b.preventDefault()}}var e,f=c.originalEvent.touches?c.originalEvent.touches[0]:c,g={time:(new Date).getTime(),coords:[f.pageX,f.pageY],origin:a(c.target)};b.bind("touchmove",d).one("touchend",function(){b.unbind("touchmove",d),g&&e&&e.time-g.timea.event.special.swipe.horizontalDistanceThreshold&&Math.abs(g.coords[1]-e.coords[1])e.coords[0]?"swipeleft":"swiperight"),g=e=void 0})})}},a.event.special.swipeleft=a.event.special.swipeleft||{setup:function(){a(this).bind("swipe",a.noop)}},a.event.special.swiperight=a.event.special.swiperight||a.event.special.swipeleft}(jQuery);
3 |
--------------------------------------------------------------------------------
/system/js/external/jquery/plugins/cookie/jquery.cookie.js:
--------------------------------------------------------------------------------
1 | (function(c){"function"===typeof define&&define.amd?define(["jquery"],c):"object"===typeof exports?c(require("jquery")):c(jQuery)})(function(c){function n(b){b=f.json?JSON.stringify(b):String(b);return f.raw?b:encodeURIComponent(b)}function m(b,e){var a;if(f.raw)a=b;else a:{var d=b;0===d.indexOf('"')&&(d=d.slice(1,-1).replace(/\\"/g,'"').replace(/\\\\/g,"\\"));try{d=decodeURIComponent(d.replace(l," "));a=f.json?JSON.parse(d):d;break a}catch(g){}a=void 0}return c.isFunction(e)?e(a):a}var l=/\+/g,f=
2 | c.cookie=function(b,e,a){if(void 0!==e&&!c.isFunction(e)){a=c.extend({},f.defaults,a);if("number"===typeof a.expires){var d=a.expires,g=a.expires=new Date;g.setTime(+g+864E5*d)}return document.cookie=[f.raw?b:encodeURIComponent(b),"=",n(e),a.expires?"; expires="+a.expires.toUTCString():"",a.path?"; path="+a.path:"",a.domain?"; domain="+a.domain:"",a.secure?"; secure":""].join("")}a=b?void 0:{};for(var d=document.cookie?document.cookie.split("; "):[],g=0,l=d.length;g_session = Zend_Registry::get('session');
11 | return $this;
12 | }
13 |
14 | public function getCurrentUser()
15 | {
16 | if (!$this->_session->currentUser) {
17 | return new Application_Model_Models_User();
18 | }
19 | return unserialize($this->_session->currentUser);
20 | }
21 |
22 | public function setCurrentUser(Application_Model_Models_User $user)
23 | {
24 | $this->_session->currentUser = serialize($user);
25 | }
26 |
27 | public function getSession()
28 | {
29 | return $this->_session;
30 | }
31 |
32 | public function __set($name, $value)
33 | {
34 | $this->_session->$name = $value;
35 | }
36 |
37 | public function __get($name)
38 | {
39 | return $this->_session->$name;
40 | }
41 |
42 | public function __unset($name)
43 | {
44 | unset($this->_session->$name);
45 | }
46 |
47 | public function __isset($name)
48 | {
49 | return isset($this->_session->$name);
50 | }
51 | }
52 |
53 |
--------------------------------------------------------------------------------
/system/css/less/reset-widgets.css.map:
--------------------------------------------------------------------------------
1 | {"version":3,"sources":["reset-widgets.less","mixins/mixins-systems.less","mixins/mixins-buttons-style.less"],"names":[],"mappings":"AAIA;EACI,cAAA;EACA,aAAA;;AAFJ,aAII;EACI,kBAAA;EACA,WAAA;EACA,cAAA;EACA,iBAAA;EACA,UAAA;EACA,gBAAA;ECDJ,4BAAA;EA0QI,eAAA;EACA,eAAA;EAMA,YAAA;;AAKA,aD3RJ,aC2RK,UAAU;EACP,cAAA;;ADlRJ,aAVJ,aAUK,MACG;AADJ,aAVJ,aAUK,MACmB;ECmNxB,UAAA;EAGI,0BAAA;;ADrOR,aAII,aAmBI;AAvBR,aAII,aAmBoB;EACZ,UAAA;EACA,kBAAA;ECyMR,UAAA;EAGI,wBAAA;EA9NA,iCAAA;EAEJ,yBAAA;;ADTJ,aAII,aA0BI;EACI,WAAA;;AA/BZ,aAII,aA8BI;EACI,cAAA;;AAnCZ,aAII,aAkCI;EACI,kBAAA;EACA,UAAA;EACA,mBAAA;EACA,SAAA;EACA,WAAA;EACA,sBAAA;EC8KR,gBAAA;EACA,uBAAA;EACA,mBAAA;EAnNA,8BAAA;;ADTJ,aAII,aA4CI;EACI,aAAA;EACA,gBAAA;EACA,kBAAA;;AAnDZ,aAII,aAiDI;EEwBJ,WAAA;EACA,yBAAA;EACA,qBAAA;EACA,qBAAA;;AAEA,aF9EA,aAiDI,gBE6BH;AAAQ,aF9ET,aAiDI,gBE6BM;EAKF,WAAA;EAGA,yBAAA;EAGA,qBAAA;;AFrCA,aApDR,aAiDI,gBAGK;EEqBT,WAAA;EACA,yBAAA;EACA,qBAAA;EACA,qBAAA;;AAEA,aF9EA,aAiDI,gBAGK,ME0BR;AAAQ,aF9ET,aAiDI,gBAGK,ME0BC;EAKF,WAAA;EAGA,yBAAA;EAGA,qBAAA;;AF7FZ,aAII,aAwDI;EEiBJ,WAAA;EACA,yBAAA;EACA,qBAAA;EACA,qBAAA;;AAEA,aF9EA,aAwDI,cEsBH;AAAQ,aF9ET,aAwDI,cEsBM;EAKF,WAAA;EAGA,yBAAA;EAGA,qBAAA;;AF9BA,aA3DR,aAwDI,cAGK;EEcT,cAAA;EACA,yBAAA;EACA,qBAAA;EACA,qBAAA;;AAEA,aF9EA,aAwDI,cAGK,QEmBR;AAAQ,aF9ET,aAwDI,cAGK,QEmBC;EAEF,cAAA;EAMA,yBAAA;EAGA,qBAAA","file":"reset-widgets.css"}
--------------------------------------------------------------------------------
/system/js/internal/user-attributes.js:
--------------------------------------------------------------------------------
1 | $(function(){
2 |
3 | $('input.user-attribute').on('focus', function(e){
4 | console.log('@TODO create backup');
5 | });
6 | $('input.user-attribute').on('keyup', function(e){
7 | if (e.keyCode == 13){
8 | $(this).trigger('blur');
9 | return false;
10 | }
11 | });
12 | $('select.user-attribute').on('change', function(e){
13 | var data = {},
14 | uId = $(this).data('uid');
15 | data[$(this).data('attribute')] = $(this).val();
16 |
17 | sendAjax(data, uId);
18 | });
19 |
20 | $('input.user-attribute').on('change', function(e){
21 | var data = {},
22 | uId = $(this).data('uid');
23 | data[$(this).data('attribute')] = $(this).val();
24 |
25 | sendAjax(data, uId);
26 | });
27 |
28 | function sendAjax(data, uId) {
29 | $.ajax({
30 | url: $('#website_url').val() + 'api/toaster/users/id/' + uId,
31 | method: 'PUT',
32 | data: JSON.stringify(data),
33 | complete: function(xhr, status, response) {
34 | if (status === 'error'){
35 | showMessage(status, true);
36 | } else {
37 |
38 | }
39 | }
40 | })
41 | }
42 | });
--------------------------------------------------------------------------------
/seotoaster_core/application/models/Mappers/SeodataMapper.php:
--------------------------------------------------------------------------------
1 |
7 | */
8 | class Application_Model_Mappers_SeodataMapper extends Application_Model_Mappers_Abstract {
9 |
10 | protected $_dbTable = 'Application_Model_DbTable_Seodata';
11 |
12 | protected $_model = 'Application_Model_Models_Seodata';
13 |
14 | public function save($seodata) {
15 | if(!$seodata instanceof Application_Model_Models_Seodata) {
16 | throw new Exceptions_SeotoasterException('Given parameter should be and Application_Model_DbTable_Seodata instance');
17 | }
18 | $data = array(
19 | 'seo_top' => $seodata->getSeoTop(),
20 | 'seo_bottom' => $seodata->getSeoBottom(),
21 | 'seo_head' => $seodata->getSeoHead()
22 | );
23 | if(null === ($id = $seodata->getId())) {
24 | unset($data['id']);
25 | $this->getDbTable()->insert($data);
26 | }
27 | else {
28 | $this->getDbTable()->update($data, array('id = ?' => $id));
29 | }
30 | }
31 |
32 | public function delete(Application_Model_Models_Seodata $seodata) {
33 | $where = $this->getDbTable()->getAdapter()->quoteInto('id = ?', $seodata->getId());
34 | $deleteResult = $this->getDbTable()->delete($where);
35 | $seodata->notifyObservers();
36 | }
37 | }
38 |
39 |
--------------------------------------------------------------------------------
/system/css/less/elements/images.less:
--------------------------------------------------------------------------------
1 | img[src*="/media/"]{
2 | }
3 |
4 | img[style*="float: left"], img[style*="float:left"]{
5 | margin-right : 15px;
6 | }
7 |
8 | img[style*="float: right"], img[style*="float:right"]{
9 | margin-left : 15px;
10 | }
11 |
12 | .img-thumbnail when (@image-thumbnail = true) and (@images-style = true){
13 | & img, img&{
14 | .thumbnail-state();
15 | }
16 | }
17 | .img-circle when (@image-circle = true) and (@images-style = true){
18 | & img, img&{
19 | .border-radius(50em);
20 | }
21 | }
22 | .img-rounded when (@image-rounded = true) and (@images-style = true){
23 | & img, img&{
24 | .border-radius(@border-radius-base);
25 | }
26 | }
27 | .img-leaflet-right when (@image-leaflet-right = true) and (@images-style = true){
28 | & img, img&{
29 | .border-radius(50% 0);
30 | }
31 | }
32 | .img-leaflet-left when (@image-leaflet-left = true) and (@images-style = true){
33 | & img, img&{
34 | .border-radius(0 50%);
35 | }
36 | }
37 |
38 | [class*="caption"]{
39 | line-height : @line-height;
40 | padding : @padding-small-vertical;
41 | color : @thumbnail-caption-color;
42 | text-align : center;
43 | font-size : @font-size-small;
44 | .rgba(@thumbnail-caption-bg, @thumbnail-caption-opacity);
45 | }
46 |
--------------------------------------------------------------------------------
/_install/installer/tools/SqlSplitter.php:
--------------------------------------------------------------------------------
1 |
7 | */
8 | class SqlSplitter {
9 |
10 | /**
11 | * Split file/string containing multiple sql to an array
12 | * @param string String contains sql queries or content of .sql file
13 | * @return array List of queries
14 | */
15 | public static function split($sql)
16 | {
17 | $sql = trim($sql);
18 | $sql = preg_replace("/\n\--[^\n]*/", '', "\n".$sql);
19 | $buffer = array ();
20 | $result = array ();
21 | $in_string = false;
22 |
23 | for ($i = 0; $i < strlen($sql) - 1; $i ++) {
24 | if ($sql[$i] == ";" && !$in_string) {
25 | $result[] = trim(substr($sql, 0, $i));
26 | $sql = substr($sql, $i +1);
27 | $i = 0;
28 | }
29 | if ($in_string && ($sql[$i] == $in_string) && $buffer[1] != "\\") {
30 | $in_string = false;
31 | } elseif (!$in_string && ($sql[$i] == '"' || $sql[$i] == "'") && (!isset ($buffer[0]) || $buffer[0] != "\\")) {
32 | $in_string = $sql[$i];
33 | }
34 | if (isset ($buffer[1])) {
35 | $buffer[0] = $buffer[1];
36 | }
37 | $buffer[1] = $sql[$i];
38 | }
39 | if (!empty ($sql)) {
40 | if (trim($sql) !== '') {
41 | $result[] = $sql;
42 | }
43 | }
44 | return $result;
45 | }
46 |
47 | }
--------------------------------------------------------------------------------
/seotoaster_core/application/models/Mappers/GalDraggableMapper.php:
--------------------------------------------------------------------------------
1 | _model) {
12 | $model = new $this->_model($model);
13 | }
14 |
15 | $data = array(
16 | 'id' => $model->getId(),
17 | 'data' => $model->getData(),
18 | 'updated_at' => $model->getUpdatedAt(),
19 | 'user_id' => $model->getUserId(),
20 | 'ip_address' => $model->getIpAddress(),
21 | 'page_id' => $model->getPageId()
22 | );
23 |
24 | $recordExists = $this->find($data['id']);
25 | if ($recordExists instanceof Application_Model_Models_GalDraggableModel) {
26 | $where = $this->getDbTable()->getAdapter()->quoteInto('id = ?', $model->getId());
27 | $this->getDbTable()->update($data, $where);
28 | } else {
29 | $id = $this->getDbTable()->insert($data);
30 | $model->setId($id);
31 | }
32 |
33 | return $model;
34 | }
35 |
36 |
37 | }
--------------------------------------------------------------------------------
/system/css/less/modules/carousel.less:
--------------------------------------------------------------------------------
1 | .carousel{
2 | position : relative;
3 | max-width : 100%;
4 | .user-select();
5 |
6 | .carousel-clip{
7 | overflow : hidden;
8 | height : 100%;
9 | }
10 |
11 | .carousel-wrap{
12 | .inline-block-wrap(top, ~'.carousel-item');
13 | min-width : 100%;
14 | }
15 |
16 | &:hover{
17 | .carousel-btn{
18 | display : block;
19 | }
20 | }
21 |
22 | .carousel-btn{
23 | .rgba(#fff, 0.75);
24 | position : absolute;
25 | top : 0;
26 | bottom : 0;
27 | margin : auto;
28 | width : 3em;
29 | display : none;
30 | font-size : @font-size-base;
31 |
32 | &:before{
33 | font-family : @icon-family;
34 | position : absolute;
35 | left : 0;
36 | top : 0;
37 | bottom : 0;
38 | margin : auto;
39 | .icon-size(3em);
40 | }
41 |
42 | &.prev{
43 | left : 0;
44 |
45 | &:before{
46 | content : "\e0c5";
47 | }
48 | }
49 | &.next{
50 | right : 0;
51 |
52 | &:before{
53 | content : "\e0c6";
54 | }
55 | }
56 | }
57 | }
--------------------------------------------------------------------------------
/seotoaster_core/application/views/scripts/backend/featured/featured.phtml:
--------------------------------------------------------------------------------
1 |
2 | partial('admin' . DIRECTORY_SEPARATOR . '_header.phtml', array('headerText' => 'Tag this page | Create a tag', 'helpSection' => 'fa')); ?>
3 |
4 |
13 |
21 |
22 | partial('admin' . DIRECTORY_SEPARATOR . '_saveandclose.phtml', array('extraClasses' => 'mr-grid')); ?>
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/seotoaster_core/application/app/Widgets/Search/views/results.phtml:
--------------------------------------------------------------------------------
1 | pager)): ?>
2 |
3 | pager as $hit): ?>
4 |
5 | useImage): ?>
6 | escape(Tools_Page_Tools::getPreview($hit['pageId'])); ?>
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 | websiteUrl.$hit['url'];?>
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 | paginationControl($this->pager, 'Elastic', 'pager.phtml', array('urlData' => $this->urlData)); ?>
--------------------------------------------------------------------------------
/seotoaster_core/application/app/Tools/System/SqlSplitter.php:
--------------------------------------------------------------------------------
1 |
7 | */
8 | class Tools_System_SqlSplitter {
9 |
10 | /**
11 | * Split file/string containing multiple sql to an array
12 | * @param string String contains sql queries or content of .sql file
13 | * @return array List of queries
14 | */
15 | public static function split($sql)
16 | {
17 | $sql = trim($sql);
18 | $sql = preg_replace("/\n\--[^\n]*/", '', "\n".$sql);
19 | $buffer = array ();
20 | $result = array ();
21 | $in_string = false;
22 |
23 | for ($i = 0; $i < strlen($sql) - 1; $i ++) {
24 | if ($sql[$i] == ";" && !$in_string) {
25 | $result[] = trim(substr($sql, 0, $i));
26 | $sql = substr($sql, $i +1);
27 | $i = 0;
28 | }
29 | if ($in_string && ($sql[$i] == $in_string) && $buffer[1] != "\\") {
30 | $in_string = false;
31 | } elseif (!$in_string && ($sql[$i] == '"' || $sql[$i] == "'") && (!isset ($buffer[0]) || $buffer[0] != "\\")) {
32 | $in_string = $sql[$i];
33 | }
34 | if (isset ($buffer[1])) {
35 | $buffer[0] = $buffer[1];
36 | }
37 | $buffer[1] = $sql[$i];
38 | }
39 | if (!empty ($sql)) {
40 | if (trim($sql) !== '') {
41 | $result[] = $sql;
42 | }
43 | }
44 | return $result;
45 | }
46 |
47 | }
--------------------------------------------------------------------------------
/system/js/external/jquery/plugins/touchpunch/jquery.ui.touch-punch.min.js:
--------------------------------------------------------------------------------
1 | /*!
2 | * jQuery UI Touch Punch 0.2.3
3 | *
4 | * Copyright 2011–2014, Dave Furfero
5 | * Dual licensed under the MIT or GPL Version 2 licenses.
6 | *
7 | * Depends:
8 | * jquery.ui.widget.js
9 | * jquery.ui.mouse.js
10 | */
11 | !function(a){function f(a,b){if(!(a.originalEvent.touches.length>1)){a.preventDefault();var c=a.originalEvent.changedTouches[0],d=document.createEvent("MouseEvents");d.initMouseEvent(b,!0,!0,window,1,c.screenX,c.screenY,c.clientX,c.clientY,!1,!1,!1,!1,0,null),a.target.dispatchEvent(d)}}if(a.support.touch="ontouchend"in document,a.support.touch){var e,b=a.ui.mouse.prototype,c=b._mouseInit,d=b._mouseDestroy;b._touchStart=function(a){var b=this;!e&&b._mouseCapture(a.originalEvent.changedTouches[0])&&(e=!0,b._touchMoved=!1,f(a,"mouseover"),f(a,"mousemove"),f(a,"mousedown"))},b._touchMove=function(a){e&&(this._touchMoved=!0,f(a,"mousemove"))},b._touchEnd=function(a){e&&(f(a,"mouseup"),f(a,"mouseout"),this._touchMoved||f(a,"click"),e=!1)},b._mouseInit=function(){var b=this;b.element.bind({touchstart:a.proxy(b,"_touchStart"),touchmove:a.proxy(b,"_touchMove"),touchend:a.proxy(b,"_touchEnd")}),c.call(b)},b._mouseDestroy=function(){var b=this;b.element.unbind({touchstart:a.proxy(b,"_touchStart"),touchmove:a.proxy(b,"_touchMove"),touchend:a.proxy(b,"_touchEnd")}),d.call(b)}}}(jQuery);
--------------------------------------------------------------------------------
/seotoaster_core/application/views/scripts/backend/seo/sculptinglist.phtml:
--------------------------------------------------------------------------------
1 | pages) && !empty ($this->pages)): ?>
2 |
3 | pages as $key => $pageData): ?>
4 |
5 |
6 |
7 |
translate('Silo this category'); ?> />
8 |
9 |
10 |
11 |
12 |
getNavName(); ?>
13 |
formSelect('siloSelect', (($subPage->getSiloId()) ? $subPage->getSiloId() : 0), array('id' => $subPage->getId(), 'class' => 'silo-select'), $this->silosOptions); ?>
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/system/css/less/packages/widgets_plugins.less:
--------------------------------------------------------------------------------
1 | // Table of Content
2 | //==================================================
3 | // Edit content
4 | // Manage form
5 | // WebBuilder DirectUpload
6 | // WebBuilder Featured Only
7 | // WebBuilder Gallery Only
8 | // WebBuilder Image Only
9 | // WebBuilder Text Only
10 | //==================================================
11 |
12 | // Edit content
13 | //==================================================
14 | @import "../toaster/widgets-plugins/edit-content";
15 |
16 | // Manage form
17 | //==================================================
18 | @import "../toaster/widgets-plugins/manage-form";
19 |
20 | // WebBuilder DirectUpload
21 | //==================================================
22 | @import "../toaster/widgets-plugins/wb-directupload";
23 |
24 | // WebBuilder Featured Only
25 | //==================================================
26 | @import "../toaster/widgets-plugins/wb-featured-only";
27 |
28 | // WebBuilder Gallery Only
29 | //==================================================
30 | @import "../toaster/widgets-plugins/wb-gallery-only";
31 |
32 | // WebBuilder Image Only
33 | //==================================================
34 | @import "../toaster/widgets-plugins/wb-image-only";
35 |
36 | // WebBuilder Text Only
37 | //==================================================
38 | @import "../toaster/widgets-plugins/wb-text-only";
--------------------------------------------------------------------------------
/seotoaster_core/application/app/Widgets/Search/views/searchButton.phtml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
34 |
--------------------------------------------------------------------------------
/seotoaster_core/application/forms/Featured.php:
--------------------------------------------------------------------------------
1 |
7 | */
8 | class Application_Form_Featured extends Application_Form_Secure {
9 |
10 | protected $_name = '';
11 |
12 |
13 | public function init() {
14 | parent::init();
15 | $this->setMethod(Zend_Form::METHOD_POST)
16 | ->setAttrib('class', '_fajax')
17 | ->setAttrib('data-callback', 'loadFaList');
18 |
19 | $this->addElement(new Zend_Form_Element_Text(array(
20 | 'id' => 'fa-name',
21 | 'name' => 'name',
22 | 'label' => 'Page tag name',
23 | 'value' => $this->_name,
24 | 'validators' => array(
25 | new Zend_Validate_Db_NoRecordExists(array(
26 | 'table' => 'featured_area',
27 | 'field' => 'name'
28 | ))
29 | ),
30 | 'decorators' => array('ViewHelper', 'Label'),
31 | 'required' => true,
32 | 'filters' => array('StringTrim')
33 | )));
34 |
35 | $this->addElement(new Zend_Form_Element_Button(array(
36 | 'name' => 'addFeaturedArea',
37 | 'id' => 'add-featured-area',
38 | 'value' => 'Add page tag',
39 | 'type' => 'submit',
40 | 'class' => 'btn block transparent mt10px ticon-plus',
41 | 'escape'=> false
42 | )));
43 |
44 | $this->getElement('addFeaturedArea')->removeDecorator('DtDdWrapper');
45 |
46 | }
47 |
48 | }
49 |
50 |
--------------------------------------------------------------------------------
/seotoaster_core/application/app/Widgets/Prepop/views/prepopLink.phtml:
--------------------------------------------------------------------------------
1 |
2 | prepopContent;?>
3 |
4 | jQuery()->onLoadCaptureStart() ?>
5 | $(function() {
6 | $(document).on('click', 'a.prepop-content', function(e) {
7 | e.preventDefault();
8 | var urlAction = "websiteUrl;?>backend/search/complexsearch/";
9 | var searchValues = [];
10 | var containerNames = [];
11 | var prepopName = $(this).attr('id');
12 | var prepopValue = $(this).attr('title');
13 | containerNames.push(prepopName.replace('prepop-', ''));
14 | searchValues.push(prepopValue);
15 | $.ajax({
16 | type: "POST",
17 | url: urlAction,
18 | dataType: "json",
19 | data: {
20 | searchValues: searchValues,
21 | containerNames:containerNames
22 | },
23 | success: function(responce){
24 | var url = responce.redirect;
25 | window.location = url;
26 | }
27 |
28 | });
29 | return false;
30 |
31 | });
32 | });
33 | jQuery()->onLoadCaptureEnd() ?>
34 |
--------------------------------------------------------------------------------
/system/js/internal/deeplinks.min.js:
--------------------------------------------------------------------------------
1 | $(function(){$(".chosen-select").chosen();$("#urlType-label").hide();loadDeeplinksList();var a=$("#url");$("#url-label").find("label");$("#urlType").click(function(){$(this).prop("checked")?$("#url").replaceWith(a):$("#url").replaceWith(' ')});$("#chk-all").click(function(){$(".deeplink-massdel").prop("checked",$(this).prop("checked")?!0:!1)});$(".deeplink-massdel").on("click",function(){$(".deeplink-massdel").not(":checked").length?$("#chk-all").attr("checked",
2 | !1):$("#chk-all").attr("checked",!0)});$("#deeplink-massdel-run").click(function(){showSpinner();var a=[];$(".deeplink-massdel:checked").each(function(){a.push($(this).attr("id"))});if(!a.length)return hideSpinner(),showMessage("Select at least one item, please",!0),!1;showConfirm("You are about to remove one or many deeplinks. Are you sure?",function(){var b=$("#frm-deeplinks").data("callback");$.ajax({url:$("#website_url").val()+"backend/backend_seo/removedeeplink/id/"+a.join(","),type:"DELETE",
3 | dataType:"json",beforeSend:function(){showSpinner()},success:function(a){hideSpinner();showMessage(a.responseText,a.error);"undefined"!=typeof b&&eval(b+"()")}})},function(){hideSpinner()})})});function loadDeeplinksList(){showSpinner();$.getJSON($("#website_url").val()+"backend/backend_seo/loaddeeplinkslist/",function(a){$("#deeplinks-list").html(a.deeplinksList);hideSpinner();checkboxRadioStyle()})};
4 |
--------------------------------------------------------------------------------
/seotoaster_core/application/views/scripts/backend/page/draft.phtml:
--------------------------------------------------------------------------------
1 |
2 | partial(
3 | 'admin' . DIRECTORY_SEPARATOR . '_header.phtml',
4 | array(
5 | 'headerText' => $this->translate('Manage drafts (') . Tools_Page_Tools::getDraftPagesCount() . ')',
6 | 'helpSection' => $this->helpSection
7 | )
8 | ); ?>
9 |
10 |
11 |
12 | draftPages && is_array($this->draftPages)): ?>
13 | draftPages as $number => $draftPage): ?>
14 |
15 | #
16 | getNavName(); ?>
17 |
18 |
19 |
20 |
21 |
22 |
23 |
31 |
--------------------------------------------------------------------------------
/seotoaster_core/application/models/Models/Redirect.php:
--------------------------------------------------------------------------------
1 |
7 | */
8 | class Application_Model_Models_Redirect extends Application_Model_Models_Abstract {
9 |
10 | protected $_pageId = 0;
11 |
12 | protected $_fromUrl = '';
13 |
14 | protected $_toUrl = '';
15 |
16 | protected $_domainTo = '';
17 |
18 | protected $_domainFrom = '';
19 |
20 | public function getPageId() {
21 | return $this->_pageId;
22 | }
23 |
24 | public function setPageId($pageId) {
25 | $this->_pageId = $pageId;
26 | return $this;
27 | }
28 |
29 | public function getFromUrl() {
30 | return $this->_fromUrl;
31 | }
32 |
33 | public function setFromUrl($fromUrl) {
34 | $this->_fromUrl = $fromUrl;
35 | return $this;
36 | }
37 |
38 | public function getToUrl() {
39 | return $this->_toUrl;
40 | }
41 |
42 | public function setToUrl($toUrl) {
43 | $this->_toUrl = $toUrl;
44 | return $this;
45 | }
46 |
47 | public function getDomainTo() {
48 | return $this->_domainTo;
49 | }
50 |
51 | public function setDomainTo($domainTo) {
52 | $this->_domainTo = $domainTo;
53 | return $this;
54 | }
55 |
56 | public function getDomainFrom() {
57 | return $this->_domainFrom;
58 | }
59 |
60 | public function setDomainFrom($domainFrom) {
61 | $this->_domainFrom = $domainFrom;
62 | return $this;
63 | }
64 | }
65 |
66 |
--------------------------------------------------------------------------------
/system/js/external/tinymce5/skins/content/default/content.min.css:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) Tiny Technologies, Inc. All rights reserved.
3 | * Licensed under the LGPL or a commercial license.
4 | * For LGPL see License.txt in the project root for license information.
5 | * For commercial licenses see https://www.tiny.cloud/
6 | */
7 | body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen,Ubuntu,Cantarell,'Open Sans','Helvetica Neue',sans-serif;line-height:1.4;margin:1rem}table{border-collapse:collapse}table:not([cellpadding]) td,table:not([cellpadding]) th{padding:.4rem}table[border]:not([border="0"]):not([style*=border-width]) td,table[border]:not([border="0"]):not([style*=border-width]) th{border-width:1px}table[border]:not([border="0"]):not([style*=border-style]) td,table[border]:not([border="0"]):not([style*=border-style]) th{border-style:solid}table[border]:not([border="0"]):not([style*=border-color]) td,table[border]:not([border="0"]):not([style*=border-color]) th{border-color:#ccc}figure{display:table;margin:1rem auto}figure figcaption{color:#999;display:block;margin-top:.25rem;text-align:center}hr{border-color:#ccc;border-style:solid;border-width:1px 0 0 0}code{background-color:#e8e8e8;border-radius:3px;padding:.1rem .2rem}.mce-content-body:not([dir=rtl]) blockquote{border-left:2px solid #ccc;margin-left:1.5rem;padding-left:1rem}.mce-content-body[dir=rtl] blockquote{border-right:2px solid #ccc;margin-right:1.5rem;padding-right:1rem}
8 |
--------------------------------------------------------------------------------
/seotoaster_core/application/views/scripts/backend/seo/sculpting.phtml:
--------------------------------------------------------------------------------
1 |
2 | partial('admin' . DIRECTORY_SEPARATOR . '_header.phtml', array('headerText' => 'Manage Page Rank Sculpting', 'helpSection' => $this->helpSection)); ?>
3 |
11 |
19 |
20 | jQuery()->addJavascriptFile($this->websiteUrl . 'system/js/internal/sculpting.min.js'); ?>
21 |
--------------------------------------------------------------------------------
/seotoaster_core/application/views/scripts/backend/form/recaptcha.phtml:
--------------------------------------------------------------------------------
1 | recaptchaId)){
4 | $widgetId = 'id="'.$this->recaptchaId.'"';
5 | }
6 | ?>
7 | class="recaptcha_widget captcha">
8 |
9 |
translate('Incorrect please try again');?>
10 |
translate('Enter the words or numbers from picture');?>:
11 |
translate('Enter the numbers you hear');?>:
12 |
13 |
19 |
20 | content; ?>
21 |
--------------------------------------------------------------------------------
/seotoaster_core/application/app/Tools/Factory/MagicSpaceFactory.php:
--------------------------------------------------------------------------------
1 |
7 | * Date: 1/25/12
8 | * Time: 3:57 PM
9 | */
10 | class Tools_Factory_MagicSpaceFactory
11 | {
12 | private function __construct()
13 | {
14 |
15 | }
16 |
17 | public static function createMagicSpace($name, $content, $toasterData, $params = array(), $magicLabel)
18 | {
19 | $name = ucfirst(strtolower($name));
20 | if (self::_validate($name)) {
21 | $magicSpaceClassName = 'MagicSpaces_'.$name.'_'.$name;
22 | return new $magicSpaceClassName($name, $content, $toasterData, $params, $magicLabel);
23 | }
24 | throw new Exceptions_SeotoasterException('Cannot run the magic space: '.$name);
25 | }
26 |
27 | private static function _validate($name)
28 | {
29 | $incPath = explode(PATH_SEPARATOR, get_include_path());
30 | if (is_array($incPath) && !empty($incPath)) {
31 | foreach ($incPath as $path) {
32 | $magicSpacesDir = $path.DIRECTORY_SEPARATOR.'MagicSpaces'.DIRECTORY_SEPARATOR.$name;
33 | if (is_dir($magicSpacesDir) && file_exists($magicSpacesDir.DIRECTORY_SEPARATOR.$name.'.php')) {
34 | return true;
35 | }
36 | }
37 | return false;
38 | }
39 | return false;
40 | }
41 | }
42 |
--------------------------------------------------------------------------------
/system/js/external/tinymce5/skins/content/writer/content.min.css:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) Tiny Technologies, Inc. All rights reserved.
3 | * Licensed under the LGPL or a commercial license.
4 | * For LGPL see License.txt in the project root for license information.
5 | * For commercial licenses see https://www.tiny.cloud/
6 | */
7 | body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen,Ubuntu,Cantarell,'Open Sans','Helvetica Neue',sans-serif;line-height:1.4;margin:1rem auto;max-width:900px}table{border-collapse:collapse}table:not([cellpadding]) td,table:not([cellpadding]) th{padding:.4rem}table[border]:not([border="0"]):not([style*=border-width]) td,table[border]:not([border="0"]):not([style*=border-width]) th{border-width:1px}table[border]:not([border="0"]):not([style*=border-style]) td,table[border]:not([border="0"]):not([style*=border-style]) th{border-style:solid}table[border]:not([border="0"]):not([style*=border-color]) td,table[border]:not([border="0"]):not([style*=border-color]) th{border-color:#ccc}figure{display:table;margin:1rem auto}figure figcaption{color:#999;display:block;margin-top:.25rem;text-align:center}hr{border-color:#ccc;border-style:solid;border-width:1px 0 0 0}code{background-color:#e8e8e8;border-radius:3px;padding:.1rem .2rem}.mce-content-body:not([dir=rtl]) blockquote{border-left:2px solid #ccc;margin-left:1.5rem;padding-left:1rem}.mce-content-body[dir=rtl] blockquote{border-right:2px solid #ccc;margin-right:1.5rem;padding-right:1rem}
8 |
--------------------------------------------------------------------------------
/_install/installer/views/scripts/index/tada.phtml:
--------------------------------------------------------------------------------
1 | protocol . '://' .$this->websiteUrl.'go'; ?>
2 |
3 |
4 | translate('Seotoaster installed');?>
5 |
6 |
7 |
8 |
translate('Get ready to toast:');?>
9 |
10 | translate('You must remove the install folder in order to access your software.');?>
11 | translate('Log into your toaster here');?>:
12 | translate('Fill in your business information, or website ID Card as we like to call it, in order to facilitate your website indexation with search engines.'); ?>
13 | serverConfigGenerated): ?>
14 |
15 |
16 |
17 | partial('_server.phtml'); ?>
18 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/seotoaster_core/application/app/Tools/System/GoogleRecaptcha.php:
--------------------------------------------------------------------------------
1 | getConfig();
12 | $this->_secretKey = $websiteConfig['grecaptchaPrivateKey'];
13 | }
14 |
15 | protected function _getCurlData($url)
16 | {
17 | $curl = curl_init();
18 | curl_setopt($curl, CURLOPT_URL, $url);
19 | curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
20 | curl_setopt($curl, CURLOPT_TIMEOUT, 10);
21 | $curlData = curl_exec($curl);
22 | curl_close($curl);
23 | return $curlData;
24 | }
25 |
26 | public function isValid($recaptcha)
27 | {
28 |
29 | $url = $this::GOOGLE_URL . "?secret=" . $this->_secretKey . "&response=" . $recaptcha;
30 | $websiteUrl = Zend_Controller_Action_HelperBroker::getStaticHelper('website')->getUrl();
31 | $hostName = parse_url($websiteUrl, PHP_URL_HOST);
32 | $res = $this->_getCurlData($url);
33 | $res = json_decode($res, true);
34 | if (is_array($res) && !empty($res['success']) && !empty($res['hostname'])) {
35 | return ($res['success'] && $res['hostname'] == $hostName);
36 | }
37 | return false;
38 |
39 | }
40 | }
--------------------------------------------------------------------------------
/seotoaster_core/application/app/Helpers/Action/Admin.php:
--------------------------------------------------------------------------------
1 | _cache = Zend_Controller_Action_HelperBroker::getStaticHelper('Cache');
11 | $this->_view = $this->_actionController->view;
12 | }
13 |
14 | public function renderAdminPanel($userRole = null) {
15 | if ($userRole === Tools_Security_Acl::ROLE_MEMBER && (bool) Zend_Controller_Action_HelperBroker::getStaticHelper('config')->getConfig('controlPanelStatus')) {
16 | return;
17 | }
18 | $websiteHelper = Zend_Controller_Action_HelperBroker::getStaticHelper('website');
19 | $userRole = preg_replace('/[^\w\d_]/', '', $userRole);
20 | if(!$additionalMenu = $this->_cache->load('admin_addmenu', $userRole)) {
21 | $additionalMenu = Tools_Plugins_Tools::fetchPluginsMenu($userRole);
22 | $this->_cache->save('admin_addmenu', $additionalMenu, $userRole, array(), '7200');
23 | }
24 | $this->_view->additionalMenu = $additionalMenu;
25 | if($this->_view->placeholder('logoSource')->getValue() == array()) {
26 | $this->_view->placeholder('logoSource')->set($websiteHelper->getUrl() . 'system/images/cpanel-img.jpg');
27 | }
28 | $this->_view->userRole = $userRole;
29 | return $this->_view->render('admin/adminpanel.phtml');
30 | }
31 |
32 |
33 |
34 | }
35 |
36 |
--------------------------------------------------------------------------------
/system/css/less/elements/separator.less:
--------------------------------------------------------------------------------
1 | hr{
2 | clear : both;
3 | margin : 1.25em 0 1.75em;
4 | border : none;
5 | border-top : @hr-size solid @hr-color;
6 | line-height : 0;
7 |
8 | // With text
9 | &:before{
10 | content : attr(title);
11 | top : -0.5em;
12 | position : relative;
13 | line-height : 1;
14 | color : @hr-color;
15 | margin : -(@hr-size / 2) 15px 0;
16 | padding : 0px .75em;
17 | .inline-block();
18 | .background() when (@content-bg = transparent){
19 | background : @body-bg;
20 | }
21 | .background() when not(@content-bg = transparent){
22 | background : @content-bg;
23 | }
24 | .background();
25 | }
26 |
27 | &.left when (@separator-left = true) and (@separator-style = true) { text-align : left; }
28 | &.right when (@separator-right = true) and (@separator-style = true){ text-align : right; }
29 | &.center when (@separator-center = true) and (@separator-style = true){ text-align : center; }
30 |
31 | // Separator circle
32 | &.circle when (@separator-circle = true) and (@separator-style = true){
33 | zoom : 1;
34 |
35 | &:before{
36 | padding : .5em;
37 | background : @hr-color;
38 | color : #fff;
39 | top : -1em;
40 | .border-radius(2em);
41 | }
42 | }
43 | }
--------------------------------------------------------------------------------
/system/css/less/seotoaster-ui.less:
--------------------------------------------------------------------------------
1 | @import "base/variables";
2 |
3 | // Modules Styles
4 | //==================================================
5 | .activate-modules() when (@modules = true){
6 | @import "packages/modules-pack";
7 | }
8 | .activate-modules();
9 |
10 | // -- Buttons
11 | [type="submit"], [type="button"], button, .btn-toaster, .ui-button{
12 | &.btn-load{
13 | .transition(none) !important;
14 | background-image : url('../images/ajax-loader-small.gif') !important;
15 | background-position : 50% 50% !important;
16 | background-repeat : no-repeat !important;
17 | color : transparent !important;
18 | }
19 | }
20 |
21 | .btn-toaster, .ui-button{
22 | text-decoration : none !important;
23 | .button();
24 | .box-sizing();
25 | .box-shadow(none, @input-shadow-focus);
26 |
27 | &:not(.icon){
28 | .text-overflow;
29 | }
30 |
31 | &.disabled, &[disabled]{
32 | background-color : @gray-light !important;
33 | cursor : not-allowed, default !important;
34 | .box-shadow(~'none !important', @button-box-shadow);
35 | }
36 |
37 | &:before{
38 | margin-right : 5px;
39 | }
40 |
41 | &:active{
42 | .box-shadow(0.2em 0.2em 0.3em rgba(0, 0, 0, .3) inset, @button-box-shadow);
43 | }
44 | }
45 |
46 | .hide, .ui-helper-hidden{ display : none; }
47 | // g recaptcha
48 | .g-recaptcha {
49 | clear:both;
50 | margin-bottom:10px;
51 | }
--------------------------------------------------------------------------------
/system/js/external/tinymce5/plugins/visualblocks/plugin.min.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) Tiny Technologies, Inc. All rights reserved.
3 | * Licensed under the LGPL or a commercial license.
4 | * For LGPL see License.txt in the project root for license information.
5 | * For commercial licenses see https://www.tiny.cloud/
6 | *
7 | * Version: 5.5.1 (2020-10-01)
8 | */
9 | !function(){"use strict";var t=tinymce.util.Tools.resolve("tinymce.PluginManager"),r=function(t,o,e){var n,i;t.dom.toggleClass(t.getBody(),"mce-visualblocks"),e.set(!e.get()),n=t,i=e.get(),n.fire("VisualBlocks",{state:i})},f=function(e,n){return function(o){o.setActive(n.get());var t=function(t){return o.setActive(t.state)};return e.on("VisualBlocks",t),function(){return e.off("VisualBlocks",t)}}};t.add("visualblocks",function(t,o){var e,n,i,s,c,u,l,a=(e=!1,{get:function(){return e},set:function(t){e=t}});i=a,(n=t).addCommand("mceVisualBlocks",function(){r(n,0,i)}),c=a,(s=t).ui.registry.addToggleButton("visualblocks",{icon:"visualblocks",tooltip:"Show blocks",onAction:function(){return s.execCommand("mceVisualBlocks")},onSetup:f(s,c)}),s.ui.registry.addToggleMenuItem("visualblocks",{text:"Show blocks",icon:"visualblocks",onAction:function(){return s.execCommand("mceVisualBlocks")},onSetup:f(s,c)}),l=a,(u=t).on("PreviewFormats AfterPreviewFormats",function(t){l.get()&&u.dom.toggleClass(u.getBody(),"mce-visualblocks","afterpreviewformats"===t.type)}),u.on("init",function(){u.getParam("visualblocks_default_state",!1,"boolean")&&r(u,0,l)})})}();
--------------------------------------------------------------------------------
/system/js/external/tinymce5/plugins/nonbreaking/plugin.min.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) Tiny Technologies, Inc. All rights reserved.
3 | * Licensed under the LGPL or a commercial license.
4 | * For LGPL see License.txt in the project root for license information.
5 | * For commercial licenses see https://www.tiny.cloud/
6 | *
7 | * Version: 5.5.1 (2020-10-01)
8 | */
9 | !function(){"use strict";var n=tinymce.util.Tools.resolve("tinymce.PluginManager"),i=function(n,e){for(var a="",o=0;o'+i(" ",e)+"":i(" ",e);n.undoManager.transact(function(){return n.insertContent(o)})},c=tinymce.util.Tools.resolve("tinymce.util.VK");n.add("nonbreaking",function(n){var e,a,o,i,t;(e=n).addCommand("mceNonBreaking",function(){r(e,1)}),(a=n).ui.registry.addButton("nonbreaking",{icon:"non-breaking",tooltip:"Nonbreaking space",onAction:function(){return a.execCommand("mceNonBreaking")}}),a.ui.registry.addMenuItem("nonbreaking",{icon:"non-breaking",text:"Nonbreaking space",onAction:function(){return a.execCommand("mceNonBreaking")}}),0<(t="boolean"==typeof(i=(o=n).getParam("nonbreaking_force_tab",0))?!0===i?3:0:i)&&o.on("keydown",function(n){if(n.keyCode===c.TAB&&!n.isDefaultPrevented()){if(n.shiftKey)return;n.preventDefault(),n.stopImmediatePropagation(),r(o,t)}})})}();
--------------------------------------------------------------------------------
/seotoaster_core/application/app/Tools/Template/Tools.php:
--------------------------------------------------------------------------------
1 |
6 | * Date: 12/14/12
7 | * Time: 10:36 AM
8 | */
9 | class Tools_Template_Tools {
10 |
11 | const THEME_CONFIGURATION_FILE = 'theme.ini';
12 |
13 | /**
14 | * List of required system templates
15 | *
16 | * @var array
17 | */
18 | public static $protectedTemplates = array('index', 'default', 'category');
19 |
20 | /**
21 | *
22 | *
23 | */
24 | public static function findPreview() {
25 |
26 | }
27 |
28 | public static function toArray($template, $currentTemplate = null) {
29 | return array(
30 | 'id' => $template->getId(),
31 | 'name' => $template->getName(),
32 | 'isCurrent' => ($currentTemplate && ($template->getName() == $currentTemplate->getName())) ? true : false,
33 | 'pagesCount' => Tools_Page_Tools::getPagesCountByTemplate($template->getName()),
34 | 'type' => $template->getType(),
35 | 'content' => $template->getContent(),
36 | 'protected' => in_array($template->getName(), self::$protectedTemplates)
37 | //'preview_image' => isset($tmplImages[$template->getName()]) ? $this->_themeConfig['path'].$currentTheme.'/'.$this->_themeConfig['templatePreview'].$tmplImages[$template->getName()] : false, //'system/images/no_preview.png'
38 | );
39 | }
40 |
41 | }
42 |
--------------------------------------------------------------------------------
/seotoaster_core/application/app/Widgets/Search/views/links.phtml:
--------------------------------------------------------------------------------
1 | prepopLinks) && !empty($this->prepopLinks)):?>
2 |
3 | prepopLinks as $link):?>
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 | jQuery()->onLoadCaptureStart() ?>
13 | $(function() {
14 | $(document).on('click', 'a.prepop-link', function(e) {
15 | e.preventDefault();
16 | var urlAction = "websiteUrl;?>backend/search/complexsearch/";
17 | var searchValues = [];
18 | var containerNames = [];
19 | var prepopName = $(this).data('id').replace(/\d+/g, '');
20 | var prepopValue = $(this).attr('title');
21 | containerNames.push(prepopName.replace('prepop-link-', ''));
22 | searchValues.push(prepopValue);
23 | $.ajax({
24 | type: "POST",
25 | url: urlAction,
26 | dataType: "json",
27 | data: {
28 | searchValues: searchValues,
29 | containerNames:containerNames
30 | },
31 | success: function(responce){
32 | var url = responce.redirect;
33 | window.location = url;
34 | }
35 |
36 | });
37 | return false;
38 |
39 | });
40 | });
41 | jQuery()->onLoadCaptureEnd() ?>
--------------------------------------------------------------------------------
/system/js/external/tinymce5/skins/content/dark/content.min.css:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) Tiny Technologies, Inc. All rights reserved.
3 | * Licensed under the LGPL or a commercial license.
4 | * For LGPL see License.txt in the project root for license information.
5 | * For commercial licenses see https://www.tiny.cloud/
6 | */
7 | body{background-color:#2f3742;color:#dfe0e4;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen,Ubuntu,Cantarell,'Open Sans','Helvetica Neue',sans-serif;line-height:1.4;margin:1rem}a{color:#4099ff}table{border-collapse:collapse}table:not([cellpadding]) td,table:not([cellpadding]) th{padding:.4rem}table[border]:not([border="0"]):not([style*=border-width]) td,table[border]:not([border="0"]):not([style*=border-width]) th{border-width:1px}table[border]:not([border="0"]):not([style*=border-style]) td,table[border]:not([border="0"]):not([style*=border-style]) th{border-style:solid}table[border]:not([border="0"]):not([style*=border-color]) td,table[border]:not([border="0"]):not([style*=border-color]) th{border-color:#6d737b}figure{display:table;margin:1rem auto}figure figcaption{color:#8a8f97;display:block;margin-top:.25rem;text-align:center}hr{border-color:#6d737b;border-style:solid;border-width:1px 0 0 0}code{background-color:#6d737b;border-radius:3px;padding:.1rem .2rem}.mce-content-body:not([dir=rtl]) blockquote{border-left:2px solid #6d737b;margin-left:1.5rem;padding-left:1rem}.mce-content-body[dir=rtl] blockquote{border-right:2px solid #6d737b;margin-right:1.5rem;padding-right:1rem}
8 |
--------------------------------------------------------------------------------
/system/js/external/tinymce5/skins/content/document/content.min.css:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) Tiny Technologies, Inc. All rights reserved.
3 | * Licensed under the LGPL or a commercial license.
4 | * For LGPL see License.txt in the project root for license information.
5 | * For commercial licenses see https://www.tiny.cloud/
6 | */
7 | @media screen{html{background:#f4f4f4;min-height:100%}}body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen,Ubuntu,Cantarell,'Open Sans','Helvetica Neue',sans-serif}@media screen{body{background-color:#fff;box-shadow:0 0 4px rgba(0,0,0,.15);box-sizing:border-box;margin:1rem auto 0;max-width:820px;min-height:calc(100vh - 1rem);padding:4rem 6rem 6rem 6rem}}table{border-collapse:collapse}table:not([cellpadding]) td,table:not([cellpadding]) th{padding:.4rem}table[border]:not([border="0"]):not([style*=border-width]) td,table[border]:not([border="0"]):not([style*=border-width]) th{border-width:1px}table[border]:not([border="0"]):not([style*=border-style]) td,table[border]:not([border="0"]):not([style*=border-style]) th{border-style:solid}table[border]:not([border="0"]):not([style*=border-color]) td,table[border]:not([border="0"]):not([style*=border-color]) th{border-color:#ccc}figure figcaption{color:#999;margin-top:.25rem;text-align:center}hr{border-color:#ccc;border-style:solid;border-width:1px 0 0 0}.mce-content-body:not([dir=rtl]) blockquote{border-left:2px solid #ccc;margin-left:1.5rem;padding-left:1rem}.mce-content-body[dir=rtl] blockquote{border-right:2px solid #ccc;margin-right:1.5rem;padding-right:1rem}
8 |
--------------------------------------------------------------------------------
/system/js/external/tinymce/plugins/fullscreen/plugin.min.js:
--------------------------------------------------------------------------------
1 | tinymce.PluginManager.add("fullscreen",function(e){function t(){var e,t,n=window,i=document,l=i.body;return l.offsetWidth&&(e=l.offsetWidth,t=l.offsetHeight),n.innerWidth&&n.innerHeight&&(e=n.innerWidth,t=n.innerHeight),{w:e,h:t}}function n(){function n(){d.setStyle(a,"height",t().h-(h.clientHeight-a.clientHeight))}var u,h,a,f,m=document.body,g=document.documentElement;s=!s,h=e.getContainer(),u=h.style,a=e.getContentAreaContainer().firstChild,f=a.style,s?(i=f.width,l=f.height,f.width=f.height="100%",c=u.width,o=u.height,u.width=u.height="",d.addClass(m,"mce-fullscreen"),d.addClass(g,"mce-fullscreen"),d.addClass(h,"mce-fullscreen"),d.bind(window,"resize",n),n(),r=n):(f.width=i,f.height=l,c&&(u.width=c),o&&(u.height=o),d.removeClass(m,"mce-fullscreen"),d.removeClass(g,"mce-fullscreen"),d.removeClass(h,"mce-fullscreen"),d.unbind(window,"resize",r)),e.fire("FullscreenStateChanged",{state:s})}var i,l,r,c,o,s=!1,d=tinymce.DOM;return e.settings.inline?void 0:(e.on("init",function(){e.addShortcut("Ctrl+Alt+F","",n)}),e.on("remove",function(){r&&d.unbind(window,"resize",r)}),e.addCommand("mceFullScreen",n),e.addMenuItem("fullscreen",{text:"Fullscreen",shortcut:"Ctrl+Alt+F",selectable:!0,onClick:n,onPostRender:function(){var t=this;e.on("FullscreenStateChanged",function(e){t.active(e.state)})},context:"view"}),e.addButton("fullscreen",{tooltip:"Fullscreen",shortcut:"Ctrl+Alt+F",onClick:n,onPostRender:function(){var t=this;e.on("FullscreenStateChanged",function(e){t.active(e.state)})}}),{isFullscreen:function(){return s}})});
--------------------------------------------------------------------------------
/manifest.json.default:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Seotoaster",
3 | "short_name": "Seotoaster",
4 | "icons": [
5 | {
6 | "src": "/plugins/widcard/system/userdata/icons/app-icon-48x48.png",
7 | "type": "image/png",
8 | "sizes": "48x48"
9 | },
10 | {
11 | "src": "/plugins/widcard/system/userdata/icons/app-icon-96x96.png",
12 | "type": "image/png",
13 | "sizes": "96x96"
14 | },
15 | {
16 | "src": "/plugins/widcard/system/userdata/icons/app-icon-144x144.png",
17 | "type": "image/png",
18 | "sizes": "144x144"
19 | },
20 | {
21 | "src": "/plugins/widcard/system/userdata/icons/app-icon-192x192.png",
22 | "type": "image/png",
23 | "sizes": "192x192"
24 | },
25 | {
26 | "src": "/plugins/widcard/system/userdata/icons/app-icon-256x256.png",
27 | "type": "image/png",
28 | "sizes": "256x256"
29 | },
30 | {
31 | "src": "/plugins/widcard/system/userdata/icons/app-icon-384x384.png",
32 | "type": "image/png",
33 | "sizes": "384x384"
34 | },
35 | {
36 | "src": "/plugins/widcard/system/userdata/icons/app-icon-512x512.png",
37 | "type": "image/png",
38 | "sizes": "512x512"
39 | }
40 | ],
41 | "start_url":".",
42 | "scope": ".",
43 | "display": "standalone",
44 | "orientation": "portrait-primary",
45 | "background_color": "#FFF",
46 | "theme_color": "#3F51B5",
47 | "description": "Progressive Web App based on SEOTOASTER CMS",
48 | "dir": "ltr",
49 | "leng": "en-US",
50 | "gcm_sender_id": ""
51 | }
52 |
--------------------------------------------------------------------------------