Submit
Path:
~
/
/
usr
/
local
/
psa
/
admin
/
plib
/
modules
/
xovi
/
views
/
scripts
/
rank-tracker
/
File Content:
add-keys.phtml
<?php // Copyright 1999-2020. Plesk International GmbH. All rights reserved. $this->headScript()->appendFile(pm_Context::getBaseUrl() . 'js/jquery.min.js?' . XOVIVERSION); $this->headScript()->appendFile(pm_Context::getBaseUrl() . 'js/jquery.tagsinput.js?' . XOVIVERSION); $this->headScript()->appendFile(pm_Context::getBaseUrl() . 'js/chosen.jquery.min.js?' . XOVIVERSION); $this->headScript()->appendFile(pm_Context::getBaseUrl() . 'js/ImageSelect.jquery.js?' . XOVIVERSION); $this->headScript()->appendFile(pm_Context::getBaseUrl() . 'js/rankTracker.jquery.js?' . XOVIVERSION); $this->headScript()->appendScript('$.noConflict();'); $this->headLink()->appendStylesheet(pm_Context::getBaseUrl() . 'css/tagsinput.css?' . XOVIVERSION); $this->headLink()->appendStylesheet(pm_Context::getBaseUrl() . 'css/chosen.min.css?' . XOVIVERSION); $this->headLink()->appendStylesheet(pm_Context::getBaseUrl() . 'css/ImageSelect.css?' . XOVIVERSION); ?> <div id="seo-toolkit"> <?php if (!empty($this->preview)) : ?> <div class="preview-box"> <?php echo $this->preview; ?> </div> <?php endif; ?> <form id="rank-tracker-form"> <div class="row"> <div class="col-xs-12 col-md-8"> <div class="row"> <div class="col-xs-3 add-column-name"> <div class="row"> <div class="col-xs-12"> <label for="keywords"> <b><?= $this->lmsg('rank-tracker.keywords') ?></b> <span class="required">*</span> <img title="<?= $this->lmsg('rank-tracker.addform.keywords.tooltip'); ?>" width="16" height="16" src="<?= pm_Context::getBaseUrl(); ?>images/icon_help.png"> </label> </div> <div class="col-xs-12"> <span class="help-text"><?= $this->lmsg('rank-tracker.addform.keywords.short'); ?></span> </div> </div> </div> <div class="col-xs-9 inputCol"> <input name="keywords" id="keywords" value="" class="input-text" type="text"> </div> </div> <div class="row"> <div class="col-xs-3 add-column-name"> <b><?= $this->lmsg('rank-tracker.available_keywords') ?></b> </div> <div class="col-xs-9 inputCol"> <span id="availableKeys"><?= $this->kpiData['available']['value'] ?></span> <span id="totalKeys"><?= $this->kpiData['available']['value'] ?></span> </div> </div> <div class="row"> <div class="col-xs-3 add-column-name"> <b><?= $this->lmsg('wizard.wildcard') ?></b> <img title="<?= $this->lmsg('wizard.wildcard.text'); ?>" width="16" height="16" src="<?= pm_Context::getBaseUrl(); ?>images/icon_help.png"> </div> <div class="col-xs-9 inputCol"> <select name="subdomain" id="subdomain"> <?php foreach ($this->subdomains as $val => $name): ?> <option value="<?= $val ?>"><?= $name ?></option> <?php endforeach; ?> </select> </div> </div> <div class="row"> <div class="col-xs-3 add-column-name"> <div class="row"> <div class="col-xs-12"> <label> <b><?= $this->lmsg('rank-tracker.sengines') ?></b> <span class="required">*</span> <img title="<?= $this->lmsg('rank-tracker.addform.sengines.tooltip'); ?>" width="16" height="16" src="<?= pm_Context::getBaseUrl(); ?>images/icon_help.png"> </label> </label> </div> <div class="col-xs-12"> <span class="help-text"><?= $this->lmsg('rank-tracker.addform.sengines.short'); ?></span> </div> </div> </div> <div class="col-xs-9 inputCol"> <div class="nkExtendedSE"> <img width="38" height="38" src="<?=pm_Context::getBaseUrl()?>images/icons/indicator.gif"> </div> <a href="#" id="addSERow" class="btn" style="display: none"><i class="icon"><img width="16" height="16" src="<?=pm_Context::getBaseUrl()?>images/icons/add.png" alt=""></i> <?= $this->lmsg('rank-tracker.add-sengine') ?></a> </div> </div> <div class="row"> <div class="col-xs-3 add-column-name"> <div class="row"> <div class="col-xs-12"> <label for="competitors"> <b><?= $this->lmsg('rank-tracker.competitors') ?></b> <img title="<?= $this->lmsg('rank-tracker.addform.competitors.tooltip'); ?>" width="16" height="16" src="<?= pm_Context::getBaseUrl(); ?>images/icon_help.png"> </label> </label> </div> <div class="col-xs-12"> <span class="help-text"><?= $this->lmsg('rank-tracker.addform.competitors.short'); ?></span> </div> </div> </div> <div class="col-xs-9"> <input name="competitors" id="competitors" value="" class="input-text" type="text"> <div class="preview-box competitors-message"><?= $this->lmsg('license.upgrade.competitor'); ?></div> </div> </div> <div class="row btns-box"> <div class="col-xs-3"> <div class="btn-back"> <span class="btn action"><button onclick="location.href='<?= pm_Context::getActionUrl('rank-tracker', 'index') ?>/id/<?= $this->domainId; ?>';" type="button" value="1"><?= $this->lmsg('rank-tracker.addform.btn.back-to-keywords'); ?></button></span> </div> </div> <div class="col-xs-9 inputCol"> <span id="btn-send" class="btn action save-keywords"><button type="button" id="apply-form" value="" name="send"><?= $this->lmsg('overview.rank-tracker.addkeys.button') ?></button></span> <div id="sendLoader" style="display: none"> <img width="38" height="38" src="<?=pm_Context::getBaseUrl()?>images/icons/indicator.gif"> </div> </div> </div> </div> <div class="col-xs-12 col-md-4"> <div class="row col-xs-12 load-content"> <div class="row"> <div class="col-xs-12"><h3><?php echo $this->lmsg('rank-tracker.suggested-keywords'); ?></h3></div> <div class="col-xs-12"> <div id="suggested-keywords" class="tagslist"></div> </div> </div> </div> <br> <div class="row col-xs-12 load-content"> <div class="row"> <div class="col-xs-12"><h3><?php echo $this->lmsg('rank-tracker.suggested-competitors'); ?></h3></div> <div class="col-xs-12"> <div id="suggested-competitors" class="tagslist"></div> </div> </div> </div> </div> </div> </form> </div> <script type="text/javascript"> var competitorAllow = <?= intval($this->competitorAllow) ?>, keysData = <?= json_encode($this->kpiData) ?>; jQuery(document).ready(function ($) { // search engines var seExtended = { 'init': function (initOpts) { if (typeof initOpts !== "object" || $.isEmptyObject(initOpts)) { console.error('Invalid seExtended options!'); return; } seExtended['options'] = initOpts; $(document).on('change', '.nkExtendedSE .sehost select', seExtended.onChange.host); $(document).on('change', '.nkExtendedSE .sestate select', seExtended.onChange.state); $(document).on('click', '#addSERow', seExtended.onClick.add); $(document).on('click', '.deleteSERow', seExtended.onClick.delete); seExtended.addRow(); }, 'calcCreditUsage': function (form) { }, 'objSize': function (obj) { var count = 0; if (typeof obj === "object") { if (Object.keys) { count = Object.keys(obj).length; } else if (window._) { count = _.keys(obj).length; } else if (window.$) { count = $.map(obj, function () { return 1; }).length; } else { for (var key in obj) if (obj.hasOwnProperty(key)) count++; } } return count; }, 'rowI': 0, 'addRow': function () { seExtended.rowI++; var seHostsOptions = ''; $.each(seExtended.options['hosts'], function (i, v) { if (seExtended.options['countries'][i] !== undefined) { seHostsOptions += '<option data-img-src="<?=pm_Context::getBaseUrl()?>images/flags/' + seExtended.options['countries'][i] + '.png" value="' + i + '">' + v + '</option>'; } else { seHostsOptions += '<option value="' + i + '">' + v + '</option>'; } }); $('.nkExtendedSE').append('<div id="seRow' + seExtended.rowI + '" data-rowI="' + seExtended.rowI + '" class="row middle-xs seRow">' + '<div class="col col-xs-4 sehost">' + '<label for="sehost' + seExtended.rowI + '">' + <?= $this->jsEscape($this->lmsg('rank-tracker.host')) ?> +'</label>' + '<select class="input-select" id="sehost' + seExtended.rowI + '" name="host[r' + seExtended.rowI + ']">' + seHostsOptions + '</select>' + '</div>' + '<div class="col col-xs-3 sestate" style="display: none;">' + '<label for="sestate' + seExtended.rowI + '">' + <?= $this->jsEscape($this->lmsg('rank-tracker.state')) ?> +'</label>' + '<select class="input-select" id="sestate' + seExtended.rowI + '" name="state[r' + seExtended.rowI + ']" disabled="disabled"></select>' + '</div>' + '<div class="col col-xs-3 secity" style="display: none;">' + '<label for="secity' + seExtended.rowI + '">' + <?= $this->jsEscape($this->lmsg('rank-tracker.city')) ?> +'</label>' + '<select class="input-select" id="secity' + seExtended.rowI + '" name="city[r' + seExtended.rowI + ']" disabled="disabled"></select>' + '</div>' + '<div class="col col-xs-3 selang" style="display: none;">' + '<label for="selang' + seExtended.rowI + '">' + <?= $this->jsEscape($this->lmsg('rank-tracker.language')) ?> +'</label>' + '<select class="input-select" id="selang' + seExtended.rowI + '" name="lang[r' + seExtended.rowI + ']" disabled="disabled"></select>' + '</div>' + (seExtended.rowI > 1 ? '<div class="col col-xs-1 sedelete"><a class="deleteSERow" title="' + <?= $this->jsEscape($this->lmsg('rank-tracker.delete')) ?> +'"><i class="icon"><img width="16" height="16" src="<?=pm_Context::getBaseUrl()?>images/icons/delete.png" alt=""></i></a></div>' : '') + '</div>' ); if (seExtended.rowI < 2 && seExtended.options['lastSEHash'] !== undefined && seExtended.options['lastSEHash'].length) { $('.nkExtendedSE select#sehost' + seExtended.rowI).val(seExtended.options['lastSEHash']).trigger('change'); } else { seExtended.refreshGrid($('#seRow' + seExtended.rowI)); } }, 'refreshGrid': function (row) { var cols = $('.col:visible:not(.sedelete)', row), colsNum = cols.length, deleteRows = $('.sedelete').length; if (colsNum) { var classes = 'col-xs-1 col-xs-2 col-xs-3 col-xs-4 col-xs-5 col-xs-6 col-xs-7 col-xs-8 col-xs-9 col-xs-10 col-xs-11 col-xs-12', gridOther = Math.floor((deleteRows > 0 ? 11 : 12) / colsNum), gridHost = ((deleteRows > 0 ? 11 : 12) - (colsNum - 1) * gridOther); $('.col:visible:not(.sedelete):not(.sehost)', row).removeClass(classes).addClass('col-xs-' + gridOther); $('.col.sehost', row).removeClass(classes).addClass('col-xs-' + gridHost); } $('.input-select').chosen("destroy").chosen(); }, 'onChange': { 'host': function () { seExtended.calcCreditUsage($(this)); var row = $(this).parents('div.row:first'), hostHash = $(this).val(), divs = { 'lang': $('div.col.selang', row), 'state': $('div.col.sestate', row), 'city': $('div.col.secity', row) }, selects = { 'lang': $('select', divs['lang']), 'state': $('select', divs['state']), 'city': $('select', divs['city']) }; $.each(divs, function (i, o) { o.hide(); }); $.each(selects, function (i, o) { o.html('').attr('disabled', 'disabled'); }); if (typeof seExtended.options['langs'][hostHash] === "object" && seExtended.objSize(seExtended.options['langs'][hostHash]) > 1) { var seLangsOptions = ''; $.each(seExtended.options['langs'][hostHash], function (i, v) { seLangsOptions += '<option value="' + i + '">' + v + '</option>'; }); divs['lang'].show(); selects['lang'].html(seLangsOptions).removeAttr('disabled'); } if (typeof seExtended.options['states'][hostHash] === "object" && !$.isEmptyObject(seExtended.options['states'][hostHash])) { var seStatesOptions = '<option value="-" selected="selected">- ' + <?= $this->jsEscape($this->lmsg('rank-tracker.global')) ?> +'- </option>'; $.each(seExtended.options['states'][hostHash], function (i, v) { seStatesOptions += '<option value="' + i + '">' + v + '</option>'; }); divs['state'].show(); selects['state'].html(seStatesOptions).removeAttr('disabled'); } else if (typeof seExtended.options['cities'][hostHash] === "object" && seExtended.objSize(seExtended.options['cities'][hostHash]) > 1) { var seCitiesOptions = '<option value="-" selected="selected">- ' + <?= $this->jsEscape($this->lmsg('rank-tracker.global')) ?> +'- </option>'; $.each(seExtended.options['cities'][hostHash], function (i, v) { seCitiesOptions += '<option value="' + i + '">' + v + '</option>'; }); divs['city'].show(); selects['city'].html(seCitiesOptions).removeAttr('disabled'); } seExtended.refreshGrid(row); }, 'state': function () { seExtended.calcCreditUsage($(this)); var row = $(this).parents('div.row:first'), hostHash = row.find('.sehost select').val(), stateHash = $(this).val(), div_city = $('div.col.secity', row), select_city = $('select', div_city); // reset city div_city.hide(); select_city.html('').attr('disabled', 'disabled'); if (typeof seExtended.options['cities'][hostHash] === "object" && typeof seExtended.options['cities'][hostHash][stateHash] === "object" && !$.isEmptyObject(seExtended.options['cities'][hostHash][stateHash]) ) { var seCitiesOptions = '<option value="-" selected="selected">- ' + <?= $this->jsEscape($this->lmsg('rank-tracker.global')) ?> +'- </option>'; $.each(seExtended.options['cities'][hostHash][stateHash], function (i, v) { seCitiesOptions += '<option value="' + i + '">' + v + '</option>'; }); div_city.show(); select_city.html(seCitiesOptions).removeAttr('disabled'); } seExtended.refreshGrid(row); } }, 'onClick': { 'add': function () { seExtended.addRow(); $.getCountKeys(); }, 'delete': function () { var row = $(this).parents('div.row:first'), parent = row.parent(); row.remove(); seExtended.calcCreditUsage(parent); $.getCountKeys(); return false; } }, 'options': {} }; $.getJSON("<?=pm_Context::getBaseUrl();?>json/sengines.json?<?=XOVIVERSION?>", function (json) { $('.nkExtendedSE').html(''); $('#addSERow').show(); seExtended.init(json); }); // init tagsInput $.setInputSettings( { "keywords": { "defaultText": "<?=$this->lmsg('rank-tracker.addkeyword')?>" }, "competitors": { "defaultText": "<?=$this->lmsg('rank-tracker.adddomain')?>" } } ); $.setMessages({ "upgrade_keywords": <?= json_encode($this->upgradeKeywords) ?>, "no_suggestions": "<?=$this->lmsg('wizard.no.suggestions')?>", "no_more_suggestions": "<?=$this->lmsg('rank-tracker.suggestions.no_more')?>" }); $.setFormData( { 'competitorAllow': competitorAllow, 'suggestionUrl': '<?= pm_Context::getActionUrl('rank-tracker', 'get-suggestions') . '/id/' . $this->domainId ?>', }, [ 'keywords', 'competitors' ], keysData ); $('#rank-tracker-form #btn-send').click(function () { if ($('#keywords').val() === '') { Jsw.addStatusMessage('error', '<?= $this->lmsg('rank-tracker.addkeys.error.no-keywords'); ?>'); return false; } $('.msg-box').remove(); $('#sendLoader').show(); $(this).hide(); var pData = []; $('#rank-tracker-form :input').each(function () { var attrName = $(this).attr('name'); if (typeof attrName === "string") { var arr = null, val = $(this).val(); if (attrName === 'keywords' || attrName === 'competitors') { arr = val.split(','); } else if (typeof $(this).val() === "object") { arr = val; } if (typeof arr === "object" && arr !== null) { $.each(arr, function (i, v) { pData.push({'name': attrName + '[]', 'value': v}); }); } else if (typeof val === "string" && val.length > 0) { pData.push({'name': attrName, 'value': val}); } } }); var addkeysError = function (message) { if (typeof message === "string") { Jsw.addStatusMessage('error', message); } else { Jsw.addStatusMessage('error', <?= $this->jsEscape($this->lmsg('rank-tracker.addkeys.error')) ?>); } $('#rank-tracker-form #sendLoader').hide(); $('#rank-tracker-form #btn-send').show(); }; $.ajax({ type: 'POST', cache: false, url: <?=$this->jsEscape($this->urlSubmit)?>, data: pData, dataType: 'json', success: function (data) { if (typeof data === "object") { if (typeof data['redirect'] === "string") { $(location).attr('href', data['redirect']); } else { addkeysError(data['message']); } } else { addkeysError(); } }, error: function () { addkeysError(); } }); return false; }); }) ; </script>
Edit
Rename
Chmod
Delete
FILE
FOLDER
INFO
Name
Size
Permission
Action
add-competitors.phtml
5695 bytes
0644
add-keys.phtml
22998 bytes
0644
competitors.phtml
6799 bytes
0644
index.phtml
13643 bytes
0644
keyword.phtml
8042 bytes
0644
N4ST4R_ID | Naxtarrr