feat: iqon.com full backup and design audit

- Server backup: PHP source files, theme assets, fonts, images,
  wp-config.php (masked), .htaccess, sitemaps, manifest
- Design audit: comparison with Open Design systems (Corporate,
  Clean, Modern, Bold), critical issues, SEO problems, 3-phase
  change plan, new_redesign analysis
- All files downloaded from production server via Code Snippets

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
Sergei Vasilev
2026-05-18 12:58:44 +03:00
parent 212909283c
commit 2fadc15923
52 changed files with 2208 additions and 0 deletions
@@ -0,0 +1,421 @@
<?php
define('JS_URL', '/wp-content/themes/iqon/js');
define('CSS_URL', '/wp-content/themes/iqon/css');
define('IMAGE_URL', '/wp-content/themes/iqon/images');
register_nav_menus( array('principal' => 'Meniu principal') );
add_theme_support( 'post-thumbnails' );
set_post_thumbnail_size(208,142, true);
add_image_size('case-study', 435);
/*add_image_size('home-slider', 700, 495, true);
add_image_size('article-page', 320, 226, true);
add_image_size('listing-article', 160, 113, true);
add_image_size('product-image', 560, 420, false);
add_image_size('gallery', 9999, 600, false);
*/
if (!is_admin()) {
wp_deregister_script('jquery');
wp_register_script('jquery', ('https://ajax.googleapis.com/ajax/libs/jquery/3.7.1/jquery.min.js'), false, '3.7.1');
wp_register_script('jquery-ui', ('https://ajax.googleapis.com/ajax/libs/jqueryui/1.13.2/jquery-ui.min.js'), array('jquery'), '1.13.2');
wp_enqueue_script('jquery-ui');
}
show_admin_bar(false);
add_editor_style();
remove_action('wp_head', 'rsd_link');
remove_action('wp_head', 'wp_generator');
remove_action('wp_head', 'index_rel_link');
remove_action('wp_head', 'wlwmanifest_link');
remove_action('wp_head', 'start_post_rel_link', 10, 0);
remove_action('wp_head', 'parent_post_rel_link', 10, 0);
remove_action('wp_head', 'adjacent_posts_rel_link', 10, 0);
automatic_feed_links(false);
if ( class_exists("global_posts_ordering") ) {
$global_posts_ordering = new global_posts_ordering(array("product"));
}
function image_src($img_tag)
{
preg_match("/src=\"(.*?)\"/i", $img_tag, $matches);
return $matches[1];
}
function short_text($text, $len=200, $puncte = ""){
$text = strip_tags($text);
if( (mb_strlen($text) > $len) ) {
$whitespaceposition = mb_strpos($text," ",$len)-1;
if( $whitespaceposition > 0 ) {
$chars = count_chars(mb_substr($text, 0, ($whitespaceposition+1)), 1);
if (isset($chars[ord('<')]) && $chars[ord('<')] > (isset($chars[ord('>')]) ? $chars[ord('>')] : 0))
$whitespaceposition = mb_strpos($text,">",$whitespaceposition)-1;
$text = mb_substr($text, 0, ($whitespaceposition+1));
}
// close unclosed html tags
if( preg_match_all("|<([a-zA-Z]+)|",$text,$aBuffer) ) {
if( !empty($aBuffer[1]) ) {
preg_match_all("|</([a-zA-Z]+)>|",$text,$aBuffer2);
if( count($aBuffer[1]) != count($aBuffer2[1]) ) {
foreach( $aBuffer[1] as $index => $tag ) {
if( empty($aBuffer2[1][$index]) || $aBuffer2[1][$index] != $tag)
$text .= '</'.$tag.'>';
}
}
}
}
}
return $text.$puncte;
}
/*
returneaza data in format:
- pt postare de azi 'azi la {ora}'
- pt anul asta, dar nu azi '{ziua} {luna} la {ora}
- pt alt an '{ziua} {luna} {anul} la {ora}
*/
function afiseaza_data($data=false)
{
if (!$data) return false;
// verifica daca este data in format corect
if (($data_timestamp = strtotime($data)) === false) {
// daca nu este corecta si nu am ce face cu ea returnez valoarea inapoi
return $data;
}
else {
//@setlocale(LC_TIME, 'ro_RO');
/*if (date("Y")==date("Y",$data_timestamp)) {
// acelasi an
if (date('d')==date('d',$data_timestamp)) {
// aceeasi zi
return strftime('azi la %H:%M',$data_timestamp);
}
else
{
// zi diferite
return strftime('%d %b la %H:%M',$data_timestamp);
}
}
else {
// ani diferiti
return strftime('%d %b %Y la %H:%M',$data_timestamp);
}*/
return strftime("%b %d",$data_timestamp);
}
}
function afiseaza_data_cu_an($data=false)
{
if (!$data) return false;
// verifica daca este data in format corect
if (($data_timestamp = strtotime($data)) === false) {
// daca nu este corecta si nu am ce face cu ea returnez valoarea inapoi
return $data;
}
else {
//@setlocale(LC_TIME, 'ro_RO');
/*if (date("Y")==date("Y",$data_timestamp)) {
// acelasi an
if (date('d')==date('d',$data_timestamp)) {
// aceeasi zi
return strftime('azi la %H:%M',$data_timestamp);
}
else
{
// zi diferite
return strftime('%d %b la %H:%M',$data_timestamp);
}
}
else {
// ani diferiti
return strftime('%d %b %Y la %H:%M',$data_timestamp);
}*/
return strftime("%b %d, %Y",$data_timestamp);
}
}
function arrangeMenuIqon($menu, $selected_object_id = 0, $selected_object_type, $homeID) {
global $object_id, $object_id_child, $object_id_child_child;
$arranged_menu = array();
$mainLevel = array();
$secondLevel = array();
$thirdLevel = array();
foreach ($menu as $m)
if ($m->menu_item_parent == 0) {
$key = $m->ID;
$arranged_menu[$key] = new stdClass;
$arranged_menu[$key]->ID = $m->ID;
$arranged_menu[$key]->object_id = $m->object_id;
$arranged_menu[$key]->object_id_en = function_exists('icl_object_id') ? icl_object_id($m->object_id, $m->object, true, 'en') : $m->object_id;
$arranged_menu[$key]->parrent = 0;
$arranged_menu[$key]->title = $m->title;
$arranged_menu[$key]->attr_title = $m->attr_title;
$arranged_menu[$key]->object = $m->object;
if (empty($arranged_menu[$key]->attr_title)) $arranged_menu[$key]->attr_title = $arranged_menu[$key]->title;
$arranged_menu[$key]->url = $m->url;
$arranged_menu[$key]->has_childrens = false;
$arranged_menu[$key]->selected = false;
if ($selected_object_type == 'home') {
if ($selected_object_id == $arranged_menu[$key]->object_id_en && $m->object == 'page')
$arranged_menu[$key]->selected = true;
$object_id = $key;
}
elseif ($selected_object_type == $m->object && $selected_object_id == $m->object_id) {
$arranged_menu[$key]->selected = true;
$object_id = $key;
}
$mainLevel[] = $m->ID;
}
elseif (in_array($m->menu_item_parent, $mainLevel)) {
$key_parent = $m->menu_item_parent;
$arranged_menu[$key_parent]->has_childrens = true;
$key_child = $m->ID;
$objectToModify = &$arranged_menu[$key_parent]->childrens;
$objectToModify[$key_child] = new stdClass;
$objectToModify[$key_child]->ID = $m->ID;
$objectToModify[$key_child]->object_id = $m->object_id;
$objectToModify[$key_child]->object_id_en = function_exists('icl_object_id') ? icl_object_id($m->object_id, $m->object, true, 'en') : $m->object_id;
$objectToModify[$key_child]->parrent = $key_parent;
$objectToModify[$key_child]->title = $m->title;
$objectToModify[$key_child]->attr_title = $m->attr_title;
$objectToModify[$key_child]->object = $m->object;
if (empty($objectToModify[$key_child]->attr_title)) $objectToModify[$key_child]->attr_title = $objectToModify[$key_child]->title;
$objectToModify[$key_child]->url = $m->url;
if (($arranged_menu[$key_parent]->object_id_en == 8) && sizeof($arranged_menu[$key_parent]->childrens) == 1) $arranged_menu[$key_parent]->url = $objectToModify[$key_child]->url;
$objectToModify[$key_child]->selected = false;
if ($selected_object_type == $m->object && $selected_object_id == $m->object_id) {
$objectToModify[$key_child]->selected = true;
$arranged_menu[$key_parent]->selected = true;
$object_id = $key_parent;
$object_id_child = $key_child;
}
$objectToModify[$key_child]->has_childrens = false;
$secondLevel[] = $m->ID;
if ($arranged_menu[$key_parent]->object_id_en == 8) {
wp_reset_query();
$args_pages = array('post_type' => 'page', 'order' => 'ASC', 'orderby' => 'menu_order', 'post_status' => 'publish', 'nopaging' => true, 'post_parent' => $objectToModify[$key_child]->object_id);
$pages = query_posts($args_pages);
//dv($pages);
if ($pages) {
$objectToModifyChild = &$objectToModify[$key_child]->childrens;
$objectToModify[$key_child]->has_childrens = true;
foreach ($pages as $p) {
$key_child_child = $p->ID;
$objectToModifyChild[$key_child_child] = new stdClass;
$objectToModifyChild[$key_child_child]->ID = $p->ID;
$objectToModifyChild[$key_child_child]->object_id = $p->ID;
$objectToModifyChild[$key_child_child]->object_id_en = function_exists('icl_object_id') ? icl_object_id($p->ID, $p->post_type, true, 'en') : $p->ID;
$objectToModifyChild[$key_child_child]->parrent = $key_child;
$objectToModifyChild[$key_child_child]->title = $p->post_title;
$objectToModifyChild[$key_child_child]->attr_title = $p->post_title;
$objectToModifyChild[$key_child_child]->object = $p->post_type;
$objectToModifyChild[$key_child_child]->url = get_permalink($p->ID);
$objectToModifyChild[$key_child_child]->selected = false;
if ($selected_object_type == $p->post_type && $selected_object_id == $p->ID) {
$objectToModifyChild[$key_child_child]->selected = true;
$objectToModify[$key_child]->selected = true;
$arranged_menu[$key_parent]->selected = true;
$object_id = $key_parent;
$object_id_child = $key_child;
$object_id_child_child = $key_child_child;
}
$objectToModifyChild[$key_child_child]->has_childrens = false;
}
}
wp_reset_query();
}
unset($objectToModify);
}
return $arranged_menu;
}
function arrangeMenu($menu, $selected_object_id = 0, $selected_object_type, $homeID) {
global $object_id, $object_id_child, $object_id_child_child;
$arranged_menu = array();
// get level 1 menus
foreach ($menu as $m)
if ($m->menu_item_parent == 0) {
$i = $m->ID;
$arranged_menu[$i] = new stdClass;
$arranged_menu[$i]->ID = $m->ID;
$arranged_menu[$i]->object_id = $m->object_id;
$arranged_menu[$i]->title = $m->title;
$arranged_menu[$i]->attr_title = $m->attr_title;
if (empty($arranged_menu[$i]->attr_title)) $arranged_menu[$i]->attr_title = $arranged_menu[$i]->title;
$arranged_menu[$i]->parrent = 0;
$arranged_menu[$i]->url = $m->url;
$arranged_menu[$i]->selected = false;
if ($selected_object_id == $m->object_id) {
$object_id = $i;
$arranged_menu[$i]->selected = true;
}
$arranged_menu[$i]->has_childrens = false;
}
if ($selected_object_type == 'home') $arranged_menu[$homeID]->selected = true;
return $arranged_menu;
}
function dv($var, $var_type = '') {
dump_var($var, $var_type);
}
function dump_var($var, $var_type = '') {
$ip=$_SERVER['REMOTE_ADDR'];
$local=false;
//if(preg_match("/192\.168\.([0-9]+)\.([0-9]+)/", $ip))$local=true;
//if(preg_match("/10\.([0-9]+)\.([0-9]+)\.([0-9]+)/", $ip))$local=true;
if($ip == "89.36.30.26") $local=true;
$local=true;
$rand = rand(0,9999);
echo "<div id='dv_".$rand."' style='position:absolute; z-index:10000; top:0; left:0;' onclick='document.getElementById(\"dv_".$rand."\").style.display=\"none\";'>";
if($local==true) {
print_var($var, $var_type);
}
echo "</div>";
}
function print_var(&$var, $var_type, $return=false)
{
global $html;
$html="<style>
.printvar {
background-color: #fdf8db;
border: 1px dashed #000;
padding:10px;
width: 90%;
word-wrap: break-word;
margin-left:auto;
margin-right:auto;
}
.printvar *{
color:#000;
font-size:12px;
font-family:Courier New;
align:left;
}
.printvar .var {
color: #0066CC;
}
.printvar .string {
color: #DD0000;
}
.printvar .numeric {
color: #0000BB;
}
.printvar .object {
color: #0080FF;
}
.printvar .button {
width:10px;
height:10px;
cursor:pointer;
}
</style>
<script>
function showHidePrintVar(id) {
elem = document.getElementById(id);
img = document.getElementById('img'+id);
if(elem.style.display=='none') {
elem.style.display='block';
} else {
elem.style.display='none';
}
}
</script>
<div class='printvar'>";
if(!isset($var))$var="%NULL%";
$old = $var;
$var = '0unique'.rand().'value';
$var_name = array_search($var, $GLOBALS, true);
$var=$old;
if($var_name) {
print_content($var, "$".$var_name, 1, "$".$var_name);
} else {
print_content($var, $var_type, 1, $var_type);
}
$html.="</div>";
if($return)return $html;
else echo $html;
}
function print_content($var, $var_name, $level, $parent) {
if(!isset($var))$var="%NULL%";
global $html;
for($i=0;$i<$level;$i++)$html.="&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
if(strpos($var_name, "$")===0) {
$html.="<span class='var'>$var_name</span> = ";
} elseif(strpos($parent, "->$var_name")==strlen($parent)-strlen($var_name)-2) {
$html.="-><span title=\"$parent\" class='object'>$var_name</span> = ";
} else {
$html.="[";
if(is_numeric($var_name)) {
$html.="<span title=\"$parent\" onclick=\"prompt('Path:','".addslashes($parent)."');\" class='numeric'>$var_name</span>";
} else {
$html.="<span title=\"$parent\" onclick=\"prompt('Path:','".addslashes($parent)."');\" class='string'>\"$var_name\"</span>";
}
$html.="] = ";
}
if(is_array($var)) {
$id=base64_encode(microtime());
$html.=" Array <span onclick=\"showHidePrintVar('$id');\" class='button'></span> {<br/>";
$html.="<div id='$id'>";
foreach ($var as $k=>$v) {
print_content($v, $k, $level+1, $parent."['$k']");
}
$html.="</div>";
for($i=0;$i<$level;$i++)$html.="&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
$html.=" }<br/>";
} elseif(is_object($var)) {
$id=base64_encode(microtime());
$html.=" Object <span onclick=\"showHidePrintVar('$id');\" class='button'><img id='img$id' src='".IMGURL."close.png' width='10px' height='10px' /></span> {<br/>";
$html.="<div id='$id'>";
foreach ($var as $k=>$v) {
print_content($v, $k, $level+1, $parent."->$k");
}
$html.="</div>";
for($i=0;$i<$level;$i++)$html.="&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
$html.=" }<br/>";
} else {
if (is_string($var)) {
$var=htmlentities($var, ENT_QUOTES, "UTF-8");
}
if(is_numeric($var)) {
$html.="<span class='numeric'>$var</span>;<br/>";
} elseif($var=="%NULL%") {
$html.="<span class='numeric'>NULL</span>;<br/>";
} else {
$html.="<span class='string'>\"$var\"</span>;<br/>";
}
}
}
function fileVersion($filename) {
//check if the file exists
if (file_exists($filename)) {
// return the time the file was last modified
echo filemtime($filename);
} else {
// let them know the file wasn't found
echo 'FileNotFound';
}
}
?>