Рамиз Мирзаев

Add seo package

Showing 137 changed files with 798 additions and 664 deletions
<?php
use Twig\Environment;
use Twig\Error\LoaderError;
use Twig\Error\RuntimeError;
use Twig\Extension\CoreExtension;
use Twig\Extension\SandboxExtension;
use Twig\Markup;
use Twig\Sandbox\SecurityError;
use Twig\Sandbox\SecurityNotAllowedTagError;
use Twig\Sandbox\SecurityNotAllowedFilterError;
use Twig\Sandbox\SecurityNotAllowedFunctionError;
use Twig\Source;
use Twig\Template;
/* default/template/common/content_bottom.twig */
class __TwigTemplate_20077d3fae6fb4bcc496aed14ba7dad2 extends Template
{
private $source;
private $macros = [];
public function __construct(Environment $env)
{
parent::__construct($env);
$this->source = $this->getSourceContext();
$this->parent = false;
$this->blocks = [
];
}
protected function doDisplay(array $context, array $blocks = [])
{
$macros = $this->macros;
// line 1
$context['_parent'] = $context;
$context['_seq'] = CoreExtension::ensureTraversable(($context["modules"] ?? null));
foreach ($context['_seq'] as $context["_key"] => $context["module"]) {
// line 2
yield $context["module"];
yield "
";
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_iterated'], $context['_key'], $context['module'], $context['_parent'], $context['loop']);
$context = array_intersect_key($context, $_parent) + $_parent;
return; yield '';
}
/**
* @codeCoverageIgnore
*/
public function getTemplateName()
{
return "default/template/common/content_bottom.twig";
}
/**
* @codeCoverageIgnore
*/
public function isTraitable()
{
return false;
}
/**
* @codeCoverageIgnore
*/
public function getDebugInfo()
{
return array ( 42 => 2, 38 => 1,);
}
public function getSourceContext()
{
return new Source("", "default/template/common/content_bottom.twig", "");
}
}
<?php
use Twig\Environment;
use Twig\Error\LoaderError;
use Twig\Error\RuntimeError;
use Twig\Extension\CoreExtension;
use Twig\Extension\SandboxExtension;
use Twig\Markup;
use Twig\Sandbox\SecurityError;
use Twig\Sandbox\SecurityNotAllowedTagError;
use Twig\Sandbox\SecurityNotAllowedFilterError;
use Twig\Sandbox\SecurityNotAllowedFunctionError;
use Twig\Source;
use Twig\Template;
/* default/template/common/column_left.twig */
class __TwigTemplate_6dba69384bf8cae44ff9814eb1a6ed36 extends Template
{
private $source;
private $macros = [];
public function __construct(Environment $env)
{
parent::__construct($env);
$this->source = $this->getSourceContext();
$this->parent = false;
$this->blocks = [
];
}
protected function doDisplay(array $context, array $blocks = [])
{
$macros = $this->macros;
// line 1
if (($context["modules"] ?? null)) {
// line 2
yield "<aside id=\"column-left\" class=\"col-sm-3 hidden-xs\">
";
// line 3
$context['_parent'] = $context;
$context['_seq'] = CoreExtension::ensureTraversable(($context["modules"] ?? null));
foreach ($context['_seq'] as $context["_key"] => $context["module"]) {
// line 4
yield " ";
yield $context["module"];
yield "
";
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_iterated'], $context['_key'], $context['module'], $context['_parent'], $context['loop']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 6
yield "</aside>
";
}
return; yield '';
}
/**
* @codeCoverageIgnore
*/
public function getTemplateName()
{
return "default/template/common/column_left.twig";
}
/**
* @codeCoverageIgnore
*/
public function isTraitable()
{
return false;
}
/**
* @codeCoverageIgnore
*/
public function getDebugInfo()
{
return array ( 56 => 6, 47 => 4, 43 => 3, 40 => 2, 38 => 1,);
}
public function getSourceContext()
{
return new Source("", "default/template/common/column_left.twig", "");
}
}
<?php
use Twig\Environment;
use Twig\Error\LoaderError;
use Twig\Error\RuntimeError;
use Twig\Extension\CoreExtension;
use Twig\Extension\SandboxExtension;
use Twig\Markup;
use Twig\Sandbox\SecurityError;
use Twig\Sandbox\SecurityNotAllowedTagError;
use Twig\Sandbox\SecurityNotAllowedFilterError;
use Twig\Sandbox\SecurityNotAllowedFunctionError;
use Twig\Source;
use Twig\Template;
/* default/template/common/column_right.twig */
class __TwigTemplate_babf68b5e85aed4f33117758f832b697 extends Template
{
private $source;
private $macros = [];
public function __construct(Environment $env)
{
parent::__construct($env);
$this->source = $this->getSourceContext();
$this->parent = false;
$this->blocks = [
];
}
protected function doDisplay(array $context, array $blocks = [])
{
$macros = $this->macros;
// line 1
if (($context["modules"] ?? null)) {
// line 2
yield "<aside id=\"column-right\" class=\"col-sm-3 hidden-xs\">
";
// line 3
$context['_parent'] = $context;
$context['_seq'] = CoreExtension::ensureTraversable(($context["modules"] ?? null));
foreach ($context['_seq'] as $context["_key"] => $context["module"]) {
// line 4
yield " ";
yield $context["module"];
yield "
";
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_iterated'], $context['_key'], $context['module'], $context['_parent'], $context['loop']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 6
yield "</aside>
";
}
return; yield '';
}
/**
* @codeCoverageIgnore
*/
public function getTemplateName()
{
return "default/template/common/column_right.twig";
}
/**
* @codeCoverageIgnore
*/
public function isTraitable()
{
return false;
}
/**
* @codeCoverageIgnore
*/
public function getDebugInfo()
{
return array ( 56 => 6, 47 => 4, 43 => 3, 40 => 2, 38 => 1,);
}
public function getSourceContext()
{
return new Source("", "default/template/common/column_right.twig", "");
}
}
<?php
use Twig\Environment;
use Twig\Error\LoaderError;
use Twig\Error\RuntimeError;
use Twig\Extension\CoreExtension;
use Twig\Extension\SandboxExtension;
use Twig\Markup;
use Twig\Sandbox\SecurityError;
use Twig\Sandbox\SecurityNotAllowedTagError;
use Twig\Sandbox\SecurityNotAllowedFilterError;
use Twig\Sandbox\SecurityNotAllowedFunctionError;
use Twig\Source;
use Twig\Template;
/* default/template/extension/module/carousel.twig */
class __TwigTemplate_326e88fa5a1e8d2824b5dfd502a55eeb extends Template
{
private $source;
private $macros = [];
public function __construct(Environment $env)
{
parent::__construct($env);
$this->source = $this->getSourceContext();
$this->parent = false;
$this->blocks = [
];
}
protected function doDisplay(array $context, array $blocks = [])
{
$macros = $this->macros;
// line 1
yield "<div class=\"carousel swiper-viewport\">
<div id=\"carousel";
// line 2
yield ($context["module"] ?? null);
yield "\" class=\"swiper-container\">
<div class=\"swiper-wrapper\">";
// line 3
$context['_parent'] = $context;
$context['_seq'] = CoreExtension::ensureTraversable(($context["banners"] ?? null));
foreach ($context['_seq'] as $context["_key"] => $context["banner"]) {
// line 4
yield " <div class=\"swiper-slide text-center\">";
if (CoreExtension::getAttribute($this->env, $this->source, $context["banner"], "link", [], "any", false, false, false, 4)) {
yield "<a href=\"";
yield CoreExtension::getAttribute($this->env, $this->source, $context["banner"], "link", [], "any", false, false, false, 4);
yield "\"><img src=\"";
yield CoreExtension::getAttribute($this->env, $this->source, $context["banner"], "image", [], "any", false, false, false, 4);
yield "\" alt=\"";
yield CoreExtension::getAttribute($this->env, $this->source, $context["banner"], "title", [], "any", false, false, false, 4);
yield "\" class=\"img-responsive\" /></a>";
} else {
yield "<img src=\"";
yield CoreExtension::getAttribute($this->env, $this->source, $context["banner"], "image", [], "any", false, false, false, 4);
yield "\" alt=\"";
yield CoreExtension::getAttribute($this->env, $this->source, $context["banner"], "title", [], "any", false, false, false, 4);
yield "\" class=\"img-responsive\" />";
}
yield "</div>
";
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_iterated'], $context['_key'], $context['banner'], $context['_parent'], $context['loop']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 5
yield "</div>
</div>
<div class=\"swiper-pagination carousel";
// line 7
yield ($context["module"] ?? null);
yield "\"></div>
<div class=\"swiper-pager\">
<div class=\"swiper-button-next\"></div>
<div class=\"swiper-button-prev\"></div>
</div>
</div>
<script type=\"text/javascript\"><!--
\$('#carousel";
// line 14
yield ($context["module"] ?? null);
yield "').swiper({
\tmode: 'horizontal',
\tslidesPerView: 5,
\tpagination: '.carousel";
// line 17
yield ($context["module"] ?? null);
yield "',
\tpaginationClickable: true,
\tnextButton: '.carousel .swiper-button-next',
prevButton: '.carousel .swiper-button-prev',
\tautoplay: 2500,
\tloop: true
});
--></script>";
return; yield '';
}
/**
* @codeCoverageIgnore
*/
public function getTemplateName()
{
return "default/template/extension/module/carousel.twig";
}
/**
* @codeCoverageIgnore
*/
public function isTraitable()
{
return false;
}
/**
* @codeCoverageIgnore
*/
public function getDebugInfo()
{
return array ( 92 => 17, 86 => 14, 76 => 7, 72 => 5, 49 => 4, 45 => 3, 41 => 2, 38 => 1,);
}
public function getSourceContext()
{
return new Source("", "default/template/extension/module/carousel.twig", "");
}
}
<?php
use Twig\Environment;
use Twig\Error\LoaderError;
use Twig\Error\RuntimeError;
use Twig\Extension\CoreExtension;
use Twig\Extension\SandboxExtension;
use Twig\Markup;
use Twig\Sandbox\SecurityError;
use Twig\Sandbox\SecurityNotAllowedTagError;
use Twig\Sandbox\SecurityNotAllowedFilterError;
use Twig\Sandbox\SecurityNotAllowedFunctionError;
use Twig\Source;
use Twig\Template;
/* default/template/extension/module/slideshow.twig */
class __TwigTemplate_83d94754975c47fd97a36be351259cb2 extends Template
{
private $source;
private $macros = [];
public function __construct(Environment $env)
{
parent::__construct($env);
$this->source = $this->getSourceContext();
$this->parent = false;
$this->blocks = [
];
}
protected function doDisplay(array $context, array $blocks = [])
{
$macros = $this->macros;
// line 1
yield "<div class=\"slideshow swiper-viewport\">
<div id=\"slideshow";
// line 2
yield ($context["module"] ?? null);
yield "\" class=\"swiper-container\">
<div class=\"swiper-wrapper\"> ";
// line 3
$context['_parent'] = $context;
$context['_seq'] = CoreExtension::ensureTraversable(($context["banners"] ?? null));
foreach ($context['_seq'] as $context["_key"] => $context["banner"]) {
// line 4
yield " <div class=\"swiper-slide text-center\">";
if (CoreExtension::getAttribute($this->env, $this->source, $context["banner"], "link", [], "any", false, false, false, 4)) {
yield "<a href=\"";
yield CoreExtension::getAttribute($this->env, $this->source, $context["banner"], "link", [], "any", false, false, false, 4);
yield "\"><img src=\"";
yield CoreExtension::getAttribute($this->env, $this->source, $context["banner"], "image", [], "any", false, false, false, 4);
yield "\" alt=\"";
yield CoreExtension::getAttribute($this->env, $this->source, $context["banner"], "title", [], "any", false, false, false, 4);
yield "\" class=\"img-responsive\" /></a>";
} else {
yield "<img src=\"";
yield CoreExtension::getAttribute($this->env, $this->source, $context["banner"], "image", [], "any", false, false, false, 4);
yield "\" alt=\"";
yield CoreExtension::getAttribute($this->env, $this->source, $context["banner"], "title", [], "any", false, false, false, 4);
yield "\" class=\"img-responsive\" />";
}
yield "</div>
";
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_iterated'], $context['_key'], $context['banner'], $context['_parent'], $context['loop']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 5
yield " </div>
</div>
<div class=\"swiper-pagination slideshow";
// line 7
yield ($context["module"] ?? null);
yield "\"></div>
<div class=\"swiper-pager\">
<div class=\"swiper-button-next\"></div>
<div class=\"swiper-button-prev\"></div>
</div>
</div>
<script type=\"text/javascript\"><!--
\$('#slideshow";
// line 14
yield ($context["module"] ?? null);
yield "').swiper({
\tmode: 'horizontal',
\tslidesPerView: 1,
\tpagination: '.slideshow";
// line 17
yield ($context["module"] ?? null);
yield "',
\tpaginationClickable: true,
\tnextButton: '.slideshow .swiper-button-next',
prevButton: '.slideshow .swiper-button-prev',
spaceBetween: 30,
\tautoplay: 2500,
autoplayDisableOnInteraction: true,
\tloop: true
});
//--></script>";
return; yield '';
}
/**
* @codeCoverageIgnore
*/
public function getTemplateName()
{
return "default/template/extension/module/slideshow.twig";
}
/**
* @codeCoverageIgnore
*/
public function isTraitable()
{
return false;
}
/**
* @codeCoverageIgnore
*/
public function getDebugInfo()
{
return array ( 92 => 17, 86 => 14, 76 => 7, 72 => 5, 49 => 4, 45 => 3, 41 => 2, 38 => 1,);
}
public function getSourceContext()
{
return new Source("", "default/template/extension/module/slideshow.twig", "");
}
}
<?php
use Twig\Environment;
use Twig\Error\LoaderError;
use Twig\Error\RuntimeError;
use Twig\Extension\CoreExtension;
use Twig\Extension\SandboxExtension;
use Twig\Markup;
use Twig\Sandbox\SecurityError;
use Twig\Sandbox\SecurityNotAllowedTagError;
use Twig\Sandbox\SecurityNotAllowedFilterError;
use Twig\Sandbox\SecurityNotAllowedFunctionError;
use Twig\Source;
use Twig\Template;
/* default/template/common/content_top.twig */
class __TwigTemplate_b04ee162285ebc94ac04a52e8ca6e27c extends Template
{
private $source;
private $macros = [];
public function __construct(Environment $env)
{
parent::__construct($env);
$this->source = $this->getSourceContext();
$this->parent = false;
$this->blocks = [
];
}
protected function doDisplay(array $context, array $blocks = [])
{
$macros = $this->macros;
// line 1
$context['_parent'] = $context;
$context['_seq'] = CoreExtension::ensureTraversable(($context["modules"] ?? null));
foreach ($context['_seq'] as $context["_key"] => $context["module"]) {
// line 2
yield $context["module"];
yield "
";
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_iterated'], $context['_key'], $context['module'], $context['_parent'], $context['loop']);
$context = array_intersect_key($context, $_parent) + $_parent;
return; yield '';
}
/**
* @codeCoverageIgnore
*/
public function getTemplateName()
{
return "default/template/common/content_top.twig";
}
/**
* @codeCoverageIgnore
*/
public function isTraitable()
{
return false;
}
/**
* @codeCoverageIgnore
*/
public function getDebugInfo()
{
return array ( 42 => 2, 38 => 1,);
}
public function getSourceContext()
{
return new Source("", "default/template/common/content_top.twig", "");
}
}
This diff could not be displayed because it is too large.
# 1.To use URL Alias you need to be running apache with mod_rewrite enabled.
# 2. In your opencart directory rename htaccess.txt to .htaccess.
# For any support issues please visit: http://www.opencart.com
Options +FollowSymlinks
# Prevent Directory listing
Options -Indexes
# Prevent Direct Access to files
<FilesMatch "(?i)((\.tpl|\.twig|\.ini|\.log|(?<!robots)\.txt))">
Require all denied
## For apache 2.2 and older, replace "Require all denied" with these two lines :
# Order deny,allow
# Deny from all
</FilesMatch>
# SEO URL Settings
RewriteEngine On
# If your opencart installation does not run on the main web folder make sure you folder it does run in ie. / becomes /shop/
RewriteBase /
RewriteCond %{QUERY_STRING} ^(.*)&?page=1$
RewriteRule ^(.*)/?$ /$1?%1%2 [R=301,L] #remove page=1 from url
RewriteRule ^sitemap.xml$ index.php?route=extension/feed/google_sitemap [L]
RewriteRule ^googlebase.xml$ index.php?route=extension/feed/google_base [L]
RewriteRule ^system/storage/(.*) index.php?route=error/not_found [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !.*\.(ico|gif|jpg|jpeg|png|js|css)
RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]
### Additional Settings that may need to be enabled for some servers
### Uncomment the commands by removing the # sign in front of it.
### If you get an "Internal Server Error 500" after enabling any of the following settings, restore the # as this means your host doesn't allow that.
# 1. If your cart only allows you to add one item at a time, it is possible register_globals is on. This may work to disable it:
# php_flag register_globals off
# 2. If your cart has magic quotes enabled, This may work to disable it:
# php_flag magic_quotes_gpc Off
# 3. Set max upload file size. Most hosts will limit this and not allow it to be overridden but you can try
# php_value upload_max_filesize 999M
# 4. set max post size. uncomment this line if you have a lot of product options or are getting errors where forms are not saving all fields
# php_value post_max_size 999M
# 5. set max time script can take. uncomment this line if you have a lot of product options or are getting errors where forms are not saving all fields
# php_value max_execution_time 200
# 6. set max time for input to be recieved. Uncomment this line if you have a lot of product options or are getting errors where forms are not saving all fields
# php_value max_input_time 200
# 7. disable open_basedir limitations
# php_admin_value open_basedir none
This diff is collapsed. Click to expand it.
This diff could not be displayed because it is too large.
<?php
require_once(DIR_LANGUAGE.'english/feed/advanced_sitemap.php');
\ No newline at end of file
<?php
require_once(DIR_LANGUAGE.'english/module/complete_seo.php');
\ No newline at end of file
<?php
// Heading
if (file_exists(DIR_APPLICATION . 'model/tool/seo_package.php')) {
$_['heading_title'] = '<img src="view/seo_package/img/icon.png" style="vertical-align:top;padding-right:4px"/> <b style="color:#11b209">SEO Package</b> <b style="color:#555">Sitemap</b>';
} else {
$_['heading_title'] = '<i class="fa fa-sitemap" style="color:#11b209"></i> <b>Advanced</b> <b style="color:#11b209">Sitemap Generator</b>';
}
// Text
$_['text_feed'] = 'Product Feeds';
$_['text_add_feed'] = 'New sitemap';
$_['text_success'] = 'Success: options have been saved';
$_['text_info'] = 'This sitemap does not contains duplicates and integrates the hreflang tag if enabled in seo package options.';
$_['text_minute'] = 'Minute(s)';
$_['text_hour'] = 'Hour(s)';
$_['text_day'] = 'Day(s)';
$_['entry_data_feed'] = 'Full sitemap:<span class="help">Feed containing all languages using hreflang tag (hreflang will be displayed in case of more than one language)</span>';
$_['entry_lang_feed'] = 'Lang based sitemap:<span class="help">Use these if you prefer separate language version</span>';
$_['entry_grid_feed'] = 'Grid product sitemap:<span class="help">A grid of product thumbnails (this is for consult only, do not give this sitemap link to google)</span>';
$_['button_clear_cache'] = 'Clear Cache';
$_['button_generate_cache'] = 'Generate Cache';
// Tabs
$_['text_tab_0'] = 'Sitemaps';
$_['tab_opt_1'] = 'Sitemap configuration';
$_['tab_opt_2'] = 'Advanced options';
$_['entry_feed_title'] = 'Name:';
$_['entry_cache_delay'] = 'Cache Delay';
$_['entry_cache_delay_help'] = 'How many time to display generated file until re-generation ?';
$_['entry_language'] = 'Language:<span class="help"></span>';
$_['entry_feed_url'] = 'Sitemap Url:<span class="help">Give this url to google or bing</span>';
$_['text_tab_1'] = 'Custom links';
// Configuration
$_['text_tab_2'] = 'Configuration';
$_['text_link_type'] = 'Link type';
$_['text_type_product'] = 'Product';
$_['text_type_category'] = 'Category';
$_['text_type_manufacturer'] = 'Brand';
$_['text_type_information'] = 'Information';
$_['text_type_custom'] = 'Custom link';
$_['text_type_journal'] = 'Journal blog';
$_['entry_status'] = 'Status';
$_['entry_lang_feeds'] = 'Language Based Sitemap<span class="help">Enable or disable per language based sitemap</span>';
$_['entry_priority'] = 'Priority';
$_['entry_freq'] = 'Change frenquency';
$_['entry_in_stock'] = 'Include only in stock products:<span class="help">If disabled all products are included, if enabled only product with quantity >= 1</span>';
$_['entry_item_no'] = 'Number of items per xml:<span class="help">How many urls do you want to display in each xml file, default is 500';
$_['entry_friendly_url'] = 'Friendly URL:<span class="help">Display this sitemap in http://example.com/sitemap.xml instead of the default opencart sitemap</span>';
$_['entry_hreflang'] = 'Hreflang urls:<span class="help">Include or not the other langauge links as hreflang tag</span>';
$_['entry_display_img'] = 'Display image thumb in feed:<span class="help">This is for viewing only, the image is still included for search engines.<br/>Warning: if you enable this, the images could be indexed by google and lead to sitemap, it is recommended to enable this setting only for testing purpose.</span>';
$_['entry_include_img'] = 'Include main image in feed:<span class="help">Include main product image into your feed? This is better if you want to be found via google image search</span>';
$_['entry_additional_img'] = 'Include additional images:<span class="help">Include additional product images into your feed? This is better if you want to be found via google image search</span>';
$_['entry_fullsize_img'] = 'Fullsize images:<span class="help">Link to the fullsize image if enabled, or the resized image if disabled (like the one in product page)</span>';
$_['entry_no_count'] = 'Disable counter:<span class="help">On index page disable the counting of items to gain speed, in case you have big store it can increase the delay to show the sitemap</span>';
$_['custom_links_include'] = 'Include Custom Links:<span class="help">Set up your own links into the sitemap.<br/><br/>Must be formatted like this: <b>type@url</b><br/><br/>For example with static url: <b>MyBlog@http://website/my-blog</b><br/><br/>Or using dynamic urls (they will be automatically rewritten), just put all that is after index.php?route=, like this:<br/><b>MyBlog@blog/blog_id=123</b></span>';
$_['custom_links_exclude'] = 'Exclude Links:<span class="help">Set up the links you do not want to include in sitemap, it can be any link of your website.<br/><br/>For example:<br/><b>http://website/some_product</b></span>';
$_['text_freq_always'] = 'Always';
$_['text_freq_hourly'] = 'Hourly';
$_['text_freq_daily'] = 'Daily';
$_['text_freq_weekly'] = 'Weekly';
$_['text_freq_monthly'] = 'Monthly';
$_['text_freq_yearly'] = 'Yearly';
$_['text_freq_never'] = 'Never';
$_['text_tab_about'] = 'About';
// Entry
// Error
$_['error_permission'] = 'Warning: You do not have permission to modify SEO Package Sitemap feed!';
?>
\ No newline at end of file
This diff is collapsed. Click to expand it.
<?php
require_once(DIR_LANGUAGE.'russian/feed/advanced_sitemap.php');
\ No newline at end of file
<?php
require_once(DIR_LANGUAGE.'russian/module/complete_seo.php');
\ No newline at end of file
<?php
// Heading
if (file_exists(DIR_APPLICATION . 'model/tool/seo_package.php')) {
$_['heading_title'] = '<img src="view/seo_package/img/icon.png" style="vertical-align:top;padding-right:4px"/> <b style="color:#11b209">SEO Package</b> <b style="color:#555">Sitemap</b>';
} else {
$_['heading_title'] = '<i class="fa fa-sitemap" style="color:#11b209"></i> <b>Advanced</b> <b style="color:#11b209">Sitemap Generator</b>';
}
// Text
$_['text_feed'] = 'Product Feeds';
$_['text_add_feed'] = 'New feed';
$_['text_success'] = 'Success: options have been saved';
$_['text_info'] = 'This sitemap does not contains duplicates and integrates the hreflang tag if enabled in seo package options.';
$_['text_minute'] = 'Minute(s)';
$_['text_hour'] = 'Hour(s)';
$_['text_day'] = 'Day(s)';
$_['entry_data_feed'] = 'Full Feed:<span class="help">Feed containing all languages using hreflang tag (hreflang will be displayed in case of more than one language)</span>';
$_['entry_lang_feed'] = 'Lang based feeds:<span class="help">Use these if you prefer separate language version</span>';
$_['entry_grid_feed'] = 'Grid product feeds:<span class="help">A grid of product thumbnails</span>';
// Tabs
$_['text_tab_0'] = 'Sitemaps';
$_['tab_opt_1'] = 'Feed configuration';
$_['tab_opt_2'] = 'Advanced options';
$_['entry_feed_title'] = 'Name:';
$_['entry_cache_delay'] = 'Cache Delay';
$_['entry_cache_delay_help'] = 'How many time to display generated file until re-generation ?';
$_['entry_language'] = 'Language:<span class="help"></span>';
$_['entry_feed_url'] = 'Sitemap Url:<span class="help">Give this url to google or bing</span>';
$_['text_tab_1'] = 'Custom links';
// Configuration
$_['text_tab_2'] = 'Configuration';
$_['text_link_type'] = 'Link type';
$_['text_type_product'] = 'Product';
$_['text_type_category'] = 'Category';
$_['text_type_manufacturer'] = 'Brand';
$_['text_type_information'] = 'Information';
$_['text_type_custom'] = 'Custom link';
$_['text_type_journal'] = 'Journal blog';
$_['entry_status'] = 'Status';
$_['entry_priority'] = 'Priority';
$_['entry_freq'] = 'Change frenquency';
$_['entry_in_stock'] = 'Include only in stock products:<span class="help">If disabled all products are included, if enabled only product with quantity >= 1</span>';
$_['entry_item_no'] = 'Number of items per xml:<span class="help">How many urls do you want to display in each xml file, default is 500';
$_['entry_friendly_url'] = 'Friendly URL:<span class="help">Display this sitemap in http://example.com/sitemap.xml instead of the default opencart sitemap</span>';
$_['entry_display_img'] = 'Display image thumb in feed:<span class="help">This is for viewing only, the image is still included for search engines</span>';
$_['entry_include_img'] = 'Include main image in feed:<span class="help">Include main product image into your feed? This is better if you want to be found via google image search</span>';
$_['entry_additional_img'] = 'Include additional images:<span class="help">Include additional product images into your feed? This is better if you want to be found via google image search</span>';
$_['text_freq_always'] = 'Always';
$_['text_freq_hourly'] = 'Hourly';
$_['text_freq_daily'] = 'Daily';
$_['text_freq_weekly'] = 'Weekly';
$_['text_freq_monthly'] = 'Monthly';
$_['text_freq_yearly'] = 'Yearly';
$_['text_freq_never'] = 'Never';
$_['text_tab_about'] = 'About';
// Entry
// Error
$_['error_permission'] = 'Warning: You do not have permission to modify SEO Package Sitemap feed!';
?>
\ No newline at end of file
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
<?php
require_once(DIR_LANGUAGE.'ukrainian/feed/advanced_sitemap.php');
\ No newline at end of file
<?php
require_once(DIR_LANGUAGE.'ukrainian/module/complete_seo.php');
\ No newline at end of file
<?php
// Heading
if (file_exists(DIR_APPLICATION . 'model/tool/seo_package.php')) {
$_['heading_title'] = '<img src="view/seo_package/img/icon.png" style="vertical-align:top;padding-right:4px"/> <b style="color:#11b209">SEO Package</b> <b style="color:#555">Sitemap</b>';
} else {
$_['heading_title'] = '<i class="fa fa-sitemap" style="color:#11b209"></i> <b>Advanced</b> <b style="color:#11b209">Sitemap Generator</b>';
}
// Text
$_['text_feed'] = 'Product Feeds';
$_['text_add_feed'] = 'New feed';
$_['text_success'] = 'Success: options have been saved';
$_['text_info'] = 'This sitemap does not contains duplicates and integrates the hreflang tag if enabled in seo package options.';
$_['text_minute'] = 'Minute(s)';
$_['text_hour'] = 'Hour(s)';
$_['text_day'] = 'Day(s)';
$_['entry_data_feed'] = 'Full Feed:<span class="help">Feed containing all languages using hreflang tag (hreflang will be displayed in case of more than one language)</span>';
$_['entry_lang_feed'] = 'Lang based feeds:<span class="help">Use these if you prefer separate language version</span>';
$_['entry_grid_feed'] = 'Grid product feeds:<span class="help">A grid of product thumbnails</span>';
// Tabs
$_['text_tab_0'] = 'Sitemaps';
$_['tab_opt_1'] = 'Feed configuration';
$_['tab_opt_2'] = 'Advanced options';
$_['entry_feed_title'] = 'Name:';
$_['entry_cache_delay'] = 'Cache Delay';
$_['entry_cache_delay_help'] = 'How many time to display generated file until re-generation ?';
$_['entry_language'] = 'Language:<span class="help"></span>';
$_['entry_feed_url'] = 'Sitemap Url:<span class="help">Give this url to google or bing</span>';
$_['text_tab_1'] = 'Custom links';
// Configuration
$_['text_tab_2'] = 'Configuration';
$_['text_link_type'] = 'Link type';
$_['text_type_product'] = 'Product';
$_['text_type_category'] = 'Category';
$_['text_type_manufacturer'] = 'Brand';
$_['text_type_information'] = 'Information';
$_['text_type_custom'] = 'Custom link';
$_['text_type_journal'] = 'Journal blog';
$_['entry_status'] = 'Status';
$_['entry_priority'] = 'Priority';
$_['entry_freq'] = 'Change frenquency';
$_['entry_in_stock'] = 'Include only in stock products:<span class="help">If disabled all products are included, if enabled only product with quantity >= 1</span>';
$_['entry_item_no'] = 'Number of items per xml:<span class="help">How many urls do you want to display in each xml file, default is 500';
$_['entry_friendly_url'] = 'Friendly URL:<span class="help">Display this sitemap in http://example.com/sitemap.xml instead of the default opencart sitemap</span>';
$_['entry_display_img'] = 'Display image thumb in feed:<span class="help">This is for viewing only, the image is still included for search engines</span>';
$_['entry_include_img'] = 'Include main image in feed:<span class="help">Include main product image into your feed? This is better if you want to be found via google image search</span>';
$_['entry_additional_img'] = 'Include additional images:<span class="help">Include additional product images into your feed? This is better if you want to be found via google image search</span>';
$_['text_freq_always'] = 'Always';
$_['text_freq_hourly'] = 'Hourly';
$_['text_freq_daily'] = 'Daily';
$_['text_freq_weekly'] = 'Weekly';
$_['text_freq_monthly'] = 'Monthly';
$_['text_freq_yearly'] = 'Yearly';
$_['text_freq_never'] = 'Never';
$_['text_tab_about'] = 'About';
// Entry
// Error
$_['error_permission'] = 'Warning: You do not have permission to modify SEO Package Sitemap feed!';
?>
\ No newline at end of file
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
<?php
class ModelToolGkdLib extends Model {
public function fetch($template, $data = array(), $snippet = false, $language = false) {
$data['token'] = isset($this->session->data['user_token']) ? $this->session->data['user_token'] : $this->session->data['token'];
$data['token_type'] = isset($this->session->data['user_token']) ? 'user_token' : 'token';
$data['full_token'] = isset($this->session->data['user_token']) ? 'user_token='.$this->session->data['user_token'] : 'token='.$this->session->data['token'];
$data['languages'] = $this->getLanguages();
$data['_language'] = $this->language;
$data['_config'] = $this->config;
$data['_url'] = $this->url;
$data['_user'] = $this->user;
$this->load->model('setting/store');
$data['stores'] = array();
$data['stores'][] = array(
'store_id' => 0,
'name' => $this->config->get('config_name')
);
$stores = $this->model_setting_store->getStores();
foreach ($stores as $store) {
$action = array();
$data['stores'][] = array(
'store_id' => $store['store_id'],
'name' => $store['name']
);
}
if (!$language) {
$languages = array(array('language_id' => $this->config->get('config_language_id')));
} else if ($language == 'all') {
$this->load->model('localisation/language');
$languages = $this->getLanguages();
$return = array();
} else {
$languages = array(array('language_id' => $language));
}
if ($snippet == 'all') {
preg_match_all('#\$gkd_snippet == \'(.+)\'#', file_get_contents(DIR_TEMPLATE . $template . '.tpl'), $res);
if (isset($res[1])) {
$snippets = $res[1];
}
} else {
$snippets = array($snippet);
}
foreach ($snippets as $gkd_snippet) {
$data['gkd_snippet'] = $gkd_snippet;
foreach ($languages as $lang) {
$data['_language_id'] = $lang['language_id'];
if (version_compare(VERSION, '3', '>=')) {
$rf = new ReflectionMethod('Template', '__construct');
$addRegistry = false;
if ($rf->getNumberOfParameters() > 1) {
foreach ($rf->getParameters() as $p) {
if ($p->name == 'registry') {
$addRegistry = true;
}
}
}
if ($addRegistry) {
if ($rf->getNumberOfParameters() == 2) {
$tpl = new Template('template', $this->registry);
} else if ($rf->getNumberOfParameters() == 3) {
$tpl = new Template('template', false, $this->registry);
}
} else {
$tpl = new Template('template');
}
foreach ($data as $key => $value) {
$tpl->set($key, $value);
}
$rf = new ReflectionMethod('Template', 'render');
if ($rf->getNumberOfParameters() > 2) {
$render = $tpl->render($template, $this->registry, false);
} else {
$render = $tpl->render($template, false);
}
} else if (version_compare(VERSION, '2.2', '>=')) {
$tpl = new Template(version_compare(VERSION, '2.3', '>=') ? 'php': 'basic');
foreach ($data as $key => $value) {
$tpl->set($key, $value);
}
$render = $tpl->render($template.'.tpl', null); // null is for compatibility with fastor theme
//} elseif (method_exists($this->load, 'view')) {
} elseif (version_compare(VERSION, '2', '>=')) {
$render = $this->load->view($template.'.tpl', $data);
} else {
$tpl = new Template();
$tpl->data = &$data;
$render = $tpl->fetch($template.'.tpl');
}
if ($snippet == 'all' && $language == 'all') {
$return[$gkd_snippet][$lang['language_id']] = $render;
} else if ($snippet == 'all') {
$return[$gkd_snippet] = $render;
} else if ($language == 'all') {
$return[$lang['language_id']] = $render;
} else {
$return = $render;
}
}
}
return $return;
}
public function getLanguages() {
$this->load->model('localisation/language');
$languages = $this->model_localisation_language->getLanguages();
foreach ($languages as $k => $language) {
if (version_compare(VERSION, '2.2', '>=')) {
$languages[$k]['image'] = 'language/'.$language['code'].'/'.$language['code'].'.png';
} else {
$languages[$k]['image'] = 'view/image/flags/'. $language['image'];
}
}
return $languages;
}
}
\ No newline at end of file
<?php
if (isset($vqmod)) {
require_once($vqmod->modCheck(DIR_SYSTEM.'../catalog/model/tool/path_manager.php'));
} else if (class_exists('VQMod')) {
require_once(VQMod::modCheck(DIR_SYSTEM.'../catalog/model/tool/path_manager.php'));
} else {
require_once(DIR_SYSTEM.'../catalog/model/tool/path_manager.php');
}
\ No newline at end of file
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff could not be displayed because it is too large.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
/*---------------
* jQuery iToggle Plugin by Engage Interactive
* Examples and documentation at: http://labs.engageinteractive.co.uk/itoggle/
* Copyright (c) 2009 Engage Interactive
* Version: 1.0 (10-JUN-2009)
* Dual licensed under the MIT and GPL licenses:
* http://www.opensource.org/licenses/mit-license.php
* http://www.gnu.org/licenses/gpl.html
* Version: 1.7 (30-May-2012) by pshiryaev
* Requires: jQuery v1.7 or later
---------------*/
!function(i){i.fn.iToggle=function(e){function a(e,a){1==e?"radio"==o.type?i("label[for="+a+"]").addClass("ilabel_radio"):i("label[for="+a+"]").addClass("ilabel"):i("label[for="+a+"]").remove()}function l(e,a){o.onClick.call(e),h=e.innerHeight(),t=e.prop("for"),e.hasClass("iTon")?(o.onClickOff.call(e),e.animate({backgroundPositionX:"100%",backgroundPositionY:"-"+h+"px"},o.speed,o.easing,function(){e.removeClass("iTon").addClass("iToff"),clickEnabled=!0,o.onSlide.call(this),o.onSlideOff.call(this)}),i("input#"+t).removeAttr("checked"),i("input#"+t).trigger("change")):(o.onClickOn.call(e),e.animate({backgroundPositionX:"0%",backgroundPositionY:"-"+h+"px"},o.speed,o.easing,function(){e.removeClass("iToff").addClass("iTon"),clickEnabled=!0,o.onSlide.call(this),o.onSlideOn.call(this)}),i("input#"+t).prop("checked","checked"),i("input#"+t).trigger("change")),1==a&&(name=i("#"+t).prop("name"),l(e.siblings("label[for]")))}clickEnabled=!0;var n={type:"checkbox",keepLabel:!0,easing:!1,speed:200,onClick:function(){},onClickOn:function(){},onClickOff:function(){},onSlide:function(){},onSlideOn:function(){},onSlideOff:function(){}},o=i.extend({},n,e);this.each(function(){var e=i(this);if(e.is("input")){var l=e.attr("id");if(a(o.keepLabel,l),e.attr("checked")){n=i('<label class="itoggle" for="'+l+'"><span></span></label>');e.addClass("iT_checkbox").before(n);s=i(n).innerHeight();i(n).css({"background-position-x":"0%","background-position-y":"-"+s+"px"}),e.prev("label").addClass("iTon")}else{var n=i('<label class="itoggle" for="'+l+'"><span></span></label>');e.addClass("iT_checkbox").before(n);var s=i(n).innerHeight();i(n).css({"background-position-x":"100%","background-position-y":"-"+s+"px"}),e.prev("label").addClass("iToff")}}else e.children("input:"+o.type).each(function(){var e=i(this).attr("id");if(a(o.keepLabel,e),i(this).attr("checked")){l=i('<label class="itoggle" for="'+e+'"><span></span></label>');i(this).addClass("iT_checkbox").before(l);n=i(l).innerHeight();i(l).css({"background-position-x":"0%","background-position-y":"-"+n+"px"}),i(this).prev("label").addClass("iTon")}else{var l=i('<label class="itoggle" for="'+e+'"><span></span></label>');i(this).addClass("iT_checkbox").before(l);var n=i(l).innerHeight();i(l).css({"background-position-x":"100%","background-position-y":"-"+n+"px"}),i(this).prev("label").addClass("iToff")}"radio"==o.type&&i(this).prev("label").addClass("iT_radio")})}),i("label.itoggle").click(function(){return 1==clickEnabled&&(clickEnabled=!1,i(this).hasClass("iT_radio")?i(this).hasClass("iTon")?clickEnabled=!0:l(i(this),!0):l(i(this))),!1}),i("label.ilabel").click(function(){return 1==clickEnabled&&(clickEnabled=!1,l(i(this).next("label.itoggle"))),!1})}}(jQuery);
\ No newline at end of file
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
/*old opencart style*/
a.button,.list a.button{text-decoration:none;color:#FFF;display:inline-block;padding:5px 15px;background:#003A88;-webkit-border-radius:10px 10px 10px 10px;-moz-border-radius:10px;-khtml-border-radius:10px 10px 10px 10px;border-radius:10px 10px 10px 10px}
table.form{width:100%;border-collapse:collapse;margin-bottom:20px}
table.form > tbody > tr > td:first-child{width:200px}
table.form > tbody > tr > td{padding:10px;border-bottom:1px dotted #CCC}
.scrollbox{border:1px solid #CCC;width:350px;height:100px;background:#FFF;overflow-y:scroll}
.scrollbox img{float:right;cursor:pointer}
.scrollbox div{padding:3px}
.scrollbox div input{margin:0;padding:0;margin-right:3px}
.scrollbox div.even{background:#FFF}
.scrollbox div.odd{background:#F2F2F2}
.help {color: #666;font-size: 11px;font-weight: normal;display: block; line-height:16px;}
.buttons{float:right}
.heading .buttons .button {margin-left:5px}
input[type="text"]{padding: 6px 12px;}
.box > .content {overflow:unset;} /* overflow fix on 1.5 */
.modColor{color:#1b809e;}
/* iToggle */
label.ilabel{display:block;font-size:12px;padding-bottom:/*1*/0px;cursor:pointer}
label.itoggle,label.itoggle span{display:block;width:79px;height:23px;margin-top:5px;background:url(img/itoggle.png) left bottom no-repeat;cursor:pointer;text-indent:-5000px}
label.itoggle.iToff{background-position:right bottom}
label.itoggle span{background-position:left top;margin:0}
input.iT_checkbox{position:absolute;top:-9999px;left:-9999px}
select option{padding:5px; font-size:12px;}
/* V2 style */
.panel-heading h3 {font-size: 16px; font-weight: 500; display: inline-block;}
.panel-heading .pull-right{position:relative; bottom:8px;}
h3.panel-title{margin:0;}
.breadcrumb{margin:0; margin-bottom:15px; margin-left:10px; background: none repeat scroll 0% 0% transparent; padding: 0px 10px;}
.breadcrumb > li{display: inline-block;}
.breadcrumb li + li::before {content: "/"; font-family: FontAwesome; color: #BBB; padding: 0px 5px;}
.breadcrumb li a {color: #999; font-size: 11px; padding: 0px; margin: 0px; text-decoration:none;}
.breadcrumb li:last-child a {color: #1E91CF;}
/* Main style */
.nav-pills li a{background:#fafafa;}
.nav-pills li a i{position:absolute; right:10px; font-size:14px; padding-top:2px;}
.nav-pills li a i.fa-minus-circle:hover{color:#CC5353}
.nav-pills li i.fa-plus-circle:hover{color:#1871A1}
.modal{color:#555;}
#modal-info .modal-body h5{border-bottom: 1px dotted #ccc; padding-bottom:5px; font-size:13px;}
#modal-info .modal-title i.fa{color:#5C8BA5; font-size:18px; padding-right:10px;}
#modal-info .infotags span{display:inline-block; width:287px;}
#modal-info .tag{font-weight: normal; color: #2F7698;}
#modal-info p{margin-bottom:20px;}
#modal-info .img-thumbnail{box-shadow:3px 3px 4px 0px #999; border-radius: 7px;}
#modal-info .infoblock{position:relative; padding:20px; border-radius:10px; margin-bottom:15px; background:#eee;}
#modal-info .infoblock.indent-left{padding-left:90px;}
#modal-info .infoblock.indent-right{padding-right:90px;}
#modal-info .infoblock .context{position:absolute; top:27px; font-size:50px; font-family: Arial, Arial, Helvetica, sans-serif; font-style:italic; font-weight:bold; color:#D8D8D8; text-shadow: 1px 1px 0 #CCC8C8;}
#modal-info .infoblock.indent-left .context{left:18px;}
#modal-info .infoblock.indent-right .context{right:18px;}
#modal-info .infotags p{margin-bottom:25px;}
.info-btn{float:right;}
.active a, a:focus, .btn{outline:0 !important;}
.nav-pills li a{outline:0; font-weight:bold; color:#444; text-decoration:none;}
.nav-tabs > li.active > a, .nav-tabs > li.active > a:hover, .nav-tabs > li.active > a:focus{color:#444;}
.nav-tabs li.active i.fa{color:#86C440;}
.nav-pills > li.active > a, .nav-pills > li.active > a:hover, .nav-pills > li.active > a:focus{background:#444;}
textarea{border-radius:5px; background:#F5EFF7; border:1px solid #ccc;}
option{padding-right:15px;}
.box, .box td{font-size: 13px; line-height: 15px; font-family: "PT Sans","PT Sans Narrow", sans-serif;}
h3.panel-title{font-weight:bold; position:relative;top:2px;}
.box h3.panel-title{float:left; padding: 9px 0px 0px; margin: 0px; font-size: 16px;}
h3.panel-title span{color:#555;}
h3.panel-title img{position:relative;bottom:2px;}
.box h3.panel-title img{bottom:5px;}
.form.about td{padding:30px 10px}
.nav-tabs > li > a{border-radius: 3px 20px 0 0; outline:0; text-decoration:none;}
.nav-tabs > li.pull-right > a{border-radius: 20px 3px 0 0;}
.nav-tabs a.selected, .nav-tabs .active a{box-shadow: 2px -2px 2px #eee;}
.nav-tabs a.selected i{background-position:bottom; color:#86C440;}
.nav-tabs i{float:left; position:relative; right:5px; top:1px; padding-right:0px; color:#DED2D0; font-size:16px; font-weight: normal;}
.nav-tabs{margin-bottom: 25px;}
.switchContent{display:none}
.switchBtn{cursor:pointer}
.multiple_switch > div{width:150px; float:left;}
.multiple_switch > div > span{display:block; padding-bottom:7px;}
tr.info td:first-child{text-align:center; font-size:22px; color:#bbb; transition: color 500ms;}
tr.info:hover td:first-child{color:#1b809e; transition: color 500ms;}
tr.info td:last-child{color:#555;padding:40px 100px 40px 0;}
a.button, .list a.button{
cursor:pointer;
transition: background 200ms;
border:0px solid #888;
font-weight:normal;
background: #2e7091;
border-radius:6px;
text-shadow:0 0 2px #333;
box-shadow:1px 1px 2px #333;
font-size:16px;
border-radius: 5px;
border-bottom: 1px solid rgba(255,255,255,0.4);
box-shadow :0 -1px 1px rgba(0,0,0,0.2)inset, 0 1px 2px rgba(0,0,0,0.8)inset;
color:#fff;
text-shadow : 0px -1px 0px rgba(0,0,0,0.8);
background-size : 30px 30px;
background-repeat:repeat-x;
background-position :0;
background-image : -moz-linear-gradient( 90deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0) 50%, rgba(255,255,255,0.1) 50%, rgba(255,255,255,0.3) 100% );
background-image : -o-linear-gradient(90deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0) 50%, rgba(255,255,255,0.1) 50%, rgba(255,255,255,0.3) 100%);
background-image : -webkit-linear-gradient(90deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0) 50%, rgba(255,255,255,0.1) 50%, rgba(255,255,255,0.3) 100%);
background-color: #555;
}
a.button img{vertical-align:top; position:relative; right:4px;}
a.button:hover{background-color: rgba(74,108,155,1); transition: background 200ms;}
.button i{position:relative; right:4px; transition: color 200ms;}
.button .iconic{font-size:14px; line-height:14px; bottom:1px; }
.button:hover .iconic{transition: color 200ms;}
.button.green i{color:#3DCC5C;}
.button.green:hover i{color:#fff;}
.button.green:hover{background-color:#309B28;}
.button.red i{color:#ED5555;}
.button.red:hover i{color:#fff;}
.button.red:hover{background-color:#CE3D35;}
.button.orange i{color:#ED9923;}
.button.orange:hover i{color:#fff;}
.button.orange:hover{background-color:#EA7D1E;}
.button.blue i{color:#669CE8;}
.button.blue:hover i{color:#fff;}
.button.blue:hover{background-color:#4A6C9B;}
/*.form-group + .form-group,*/
.specialOptions .form-group:first-child{
border-top: 1px solid #ededed;
padding-top: 15px;
}
.gk-box {
padding: 10px 20px;
margin: 15px 0;
border: 1px solid #eee;
border-left-width: 5px;
border-radius: 3px;
font-size: 13px;
}
.gk-box h4 {
margin-top: 0;
margin-bottom: 5px;
}
.gk-box p:last-child {
margin-bottom: 0;
}
.gk-box-info {
border-left-color: #1b809e;
}
.gk-box-info h4 {
color: #1b809e;
}
.params_table td{padding-right:15px;}
\ No newline at end of file
This diff is collapsed. Click to expand it.
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
/*---------------
* jQuery iToggle Plugin by Engage Interactive
* Examples and documentation at: http://labs.engageinteractive.co.uk/itoggle/
* Copyright (c) 2009 Engage Interactive
* Version: 1.0 (10-JUN-2009)
* Dual licensed under the MIT and GPL licenses:
* http://www.opensource.org/licenses/mit-license.php
* http://www.gnu.org/licenses/gpl.html
* Version: 1.7 (30-May-2012) by pshiryaev
* Requires: jQuery v1.7 or later
---------------*/
!function(i){i.fn.iToggle=function(e){function a(e,a){1==e?"radio"==o.type?i("label[for="+a+"]").addClass("ilabel_radio"):i("label[for="+a+"]").addClass("ilabel"):i("label[for="+a+"]").remove()}function l(e,a){o.onClick.call(e),h=e.innerHeight(),t=e.prop("for"),e.hasClass("iTon")?(o.onClickOff.call(e),e.animate({backgroundPositionX:"100%",backgroundPositionY:"-"+h+"px"},o.speed,o.easing,function(){e.removeClass("iTon").addClass("iToff"),clickEnabled=!0,o.onSlide.call(this),o.onSlideOff.call(this)}),i("input#"+t).removeAttr("checked"),i("input#"+t).trigger("change")):(o.onClickOn.call(e),e.animate({backgroundPositionX:"0%",backgroundPositionY:"-"+h+"px"},o.speed,o.easing,function(){e.removeClass("iToff").addClass("iTon"),clickEnabled=!0,o.onSlide.call(this),o.onSlideOn.call(this)}),i("input#"+t).prop("checked","checked"),i("input#"+t).trigger("change")),1==a&&(name=i("#"+t).prop("name"),l(e.siblings("label[for]")))}clickEnabled=!0;var n={type:"checkbox",keepLabel:!0,easing:!1,speed:200,onClick:function(){},onClickOn:function(){},onClickOff:function(){},onSlide:function(){},onSlideOn:function(){},onSlideOff:function(){}},o=i.extend({},n,e);this.each(function(){var e=i(this);if(e.is("input")){var l=e.attr("id");if(a(o.keepLabel,l),e.attr("checked")){n=i('<label class="itoggle" for="'+l+'"><span></span></label>');e.addClass("iT_checkbox").before(n);s=i(n).innerHeight();i(n).css({"background-position-x":"0%","background-position-y":"-"+s+"px"}),e.prev("label").addClass("iTon")}else{var n=i('<label class="itoggle" for="'+l+'"><span></span></label>');e.addClass("iT_checkbox").before(n);var s=i(n).innerHeight();i(n).css({"background-position-x":"100%","background-position-y":"-"+s+"px"}),e.prev("label").addClass("iToff")}}else e.children("input:"+o.type).each(function(){var e=i(this).attr("id");if(a(o.keepLabel,e),i(this).attr("checked")){l=i('<label class="itoggle" for="'+e+'"><span></span></label>');i(this).addClass("iT_checkbox").before(l);n=i(l).innerHeight();i(l).css({"background-position-x":"0%","background-position-y":"-"+n+"px"}),i(this).prev("label").addClass("iTon")}else{var l=i('<label class="itoggle" for="'+e+'"><span></span></label>');i(this).addClass("iT_checkbox").before(l);var n=i(l).innerHeight();i(l).css({"background-position-x":"100%","background-position-y":"-"+n+"px"}),i(this).prev("label").addClass("iToff")}"radio"==o.type&&i(this).prev("label").addClass("iT_radio")})}),i("label.itoggle").click(function(){return 1==clickEnabled&&(clickEnabled=!1,i(this).hasClass("iT_radio")?i(this).hasClass("iTon")?clickEnabled=!0:l(i(this),!0):l(i(this))),!1}),i("label.ilabel").click(function(){return 1==clickEnabled&&(clickEnabled=!1,l(i(this).next("label.itoggle"))),!1})}}(jQuery);
\ No newline at end of file
/*! X-editable - v1.5.1
* In-place editing with Twitter Bootstrap, jQuery UI or pure jQuery
* http://github.com/vitalets/x-editable
* Copyright (c) 2013 Vitaliy Potapov; Licensed MIT */
.seo_editor td{cursor:pointer; word-break: break-word; overflow-wrap:break-word;}
.seo_editor td a{color:#333; text-decoration:none;}
.editableform {
margin-bottom: 0; /* overwrites bootstrap margin */
}
.editable-input input[type="text"] {
width:100%;
height:30px;
}
.editableform .control-group {
margin-bottom: 0; /* overwrites bootstrap margin */
white-space: nowrap; /* prevent wrapping buttons on new line */
line-height: 20px; /* overwriting bootstrap line-height. See #133 */
}
/*
BS3 width:1005 for inputs breaks editable form in popup
See: https://github.com/vitalets/x-editable/issues/393
*/
.editableform .form-control {
width: auto;
}
.editable-buttons {
position:absolute;
display: inline-block; /* should be inline to take effect of parent's white-space: nowrap */
vertical-align: top;
margin-left: 7px;
margin-left:-24px;
/* inline-block emulation for IE7*/
zoom: 1;
*display: inline;
}
.editable-buttons button{
border:1px solid #CACACA;
border-radius:4px;
padding: 4px 7px;
color:#333;
}
.editable-buttons button:hover{
color:#fff;
border:1px solid #111;background-color:#585858;background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #585858), color-stop(100%, #111));background:-webkit-linear-gradient(top, #585858 0%, #111 100%);background:-moz-linear-gradient(top, #585858 0%, #111 100%);background:-ms-linear-gradient(top, #585858 0%, #111 100%);background:-o-linear-gradient(top, #585858 0%, #111 100%);background:linear-gradient(to bottom, #585858 0%, #111 100%)}
}
.editable-buttons.editable-buttons-bottom {
display: block;
margin-top: 7px;
margin-left: 0;
}
.editable-input {
vertical-align: top;
display: inline-block; /* should be inline to take effect of parent's white-space: nowrap */
width: 100%; /* bootstrap-responsive has width: 100% that breakes layout */
white-space: normal; /* reset white-space decalred in parent*/
padding-right:30px;
/* display-inline emulation for IE7*/
zoom: 1;
*display: inline;
}
.editable-input textarea{
width:100%;
}
.editable-buttons .editable-cancel {
margin-left: 7px;
}
/*for jquery-ui buttons need set height to look more pretty*/
.editable-buttons button.ui-button-icon-only {
height: 24px;
width: 30px;
}
.editableform-loading {
background: url('img/loading.gif') center center no-repeat;
height: 25px;
width: auto;
min-width: 25px;
}
.editable-inline .editableform-loading {
background-position: left 5px;
}
.editable-error-block {
max-width: 300px;
margin: 5px 0 0 0;
width: auto;
white-space: normal;
}
/*add padding for jquery ui*/
.editable-error-block.ui-state-error {
padding: 3px;
}
.editable-error {
color: red;
}
/* ---- For specific types ---- */
.editableform .editable-date {
padding: 0;
margin: 0;
float: left;
}
/* move datepicker icon to center of add-on button. See https://github.com/vitalets/x-editable/issues/183 */
.editable-inline .add-on .icon-th {
margin-top: 3px;
margin-left: 1px;
}
/* checklist vertical alignment */
.editable-checklist label input[type="checkbox"],
.editable-checklist label span {
vertical-align: middle;
margin: 0;
}
.editable-checklist label {
white-space: nowrap;
}
/* set exact width of textarea to fit buttons toolbar */
.editable-wysihtml5 {
width: 566px;
height: 250px;
}
/* clear button shown as link in date inputs */
.editable-clear {
clear: both;
font-size: 0.9em;
text-decoration: none;
text-align: right;
}
/* IOS-style clear button for text inputs */
.editable-clear-x {
background: url('img/clear.png') center center no-repeat;
display: block;
width: 13px;
height: 13px;
position: absolute;
opacity: 0.6;
z-index: 100;
top: 50%;
right: 36px;
margin-top: -6px;
}
.editable-clear-x:hover {
opacity: 1;
}
.editable-pre-wrapped {
white-space: pre-wrap;
}
.editable-container.editable-popup {
max-width: none !important; /* without this rule poshytip/tooltip does not stretch */
}
.editable-container.popover {
width: auto; /* without this rule popover does not stretch */
}
.editable-container.editable-inline {
display: inline-block;
vertical-align: middle;
width: 100%;
/* inline-block emulation for IE7*/
zoom: 1;
*display: inline;
}
.editable-container.ui-widget {
font-size: inherit; /* jqueryui widget font 1.1em too big, overwrite it */
z-index: 9990; /* should be less than select2 dropdown z-index to close dropdown first when click */
}
.editable-click,
a.editable-click,
a.editable-click:hover {
text-decoration: none;
}
.editable-click.editable-disabled,
a.editable-click.editable-disabled,
a.editable-click.editable-disabled:hover {
color: #585858;
cursor: default;
border-bottom: none;
}
.editable-empty, .editable-empty:hover, .editable-empty:focus{
font-style: italic;
color: #DD1144;
/* border-bottom: none; */
text-decoration: none;
}
.editable-unsaved {
font-weight: bold;
}
.editable-unsaved:after {
/* content: '*'*/
}
.editable-bg-transition {
-webkit-transition: background-color 1400ms ease-out;
-moz-transition: background-color 1400ms ease-out;
-o-transition: background-color 1400ms ease-out;
-ms-transition: background-color 1400ms ease-out;
transition: background-color 1400ms ease-out;
}
/*see https://github.com/vitalets/x-editable/issues/139 */
.form-horizontal .editable
{
padding-top: 5px;
display:inline-block;
}
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff could not be displayed because it is too large.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff could not be displayed because it is too large.