Advertisement
Guest User

Untitled

a guest
Jul 19th, 2016
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 14.69 KB | None | 0 0
  1. <?php
  2. include_once("methods.php");
  3. class GROUP{
  4. public $name;
  5. public $mime;
  6. public $task;
  7. public $uploadfile;
  8. public $gid;
  9. public function __construct($task,$name,$img,$mime,$onlyone=false,$copy=false){
  10. if($copy){
  11. $this->name = file_get_contents("tasks/".$task."/group_name.txt");
  12. $this->uploadfile = file_get_contents("tasks/".$task."/group_img.txt");
  13. // file_put_contents("tasks/".$task."/group_img.txt",$this->uploadfile);
  14. echo 999;
  15. $this->mime = mime_content_type($this->uploadfile);
  16. }else{
  17. $this->name = $name;
  18. $this->uploadfile = $img;
  19. $this->mime = $mime;
  20. }
  21. file_put_contents("tasks/".$task."/group_name.txt",$this->name);
  22. file_put_contents("tasks/".$task."/group_img.txt",$this->uploadfile);
  23.  
  24. $this->task = $task;
  25. $this->create($onlyone);
  26. $this->set_avatar();
  27. }
  28. private function set_avatar(){
  29.  
  30. }
  31. public static function leave($gid,$user){
  32. $curl = curl_init();
  33. if( !curl_setopt($curl,CURLOPT_URL, "http://m.vk.com/club".$gid."?act=leave")) ui_net_error();
  34. curl_setopt_array($curl,$user->make_opts('rhcut'));
  35. $result = curl_exec($curl);
  36. curl_close($curl);
  37. file_put_contents("leave.log",$result);
  38. $tags = preg_match('|<form action="(/club.*?)" method="post">|sei',$result,$regs);
  39. if(count($regs)===0){
  40. echo 'error';
  41. // exit;
  42. }
  43. $link = $regs[1];
  44.  
  45. ////////////////////////////////
  46. $curl = curl_init();
  47. if( !curl_setopt($curl,CURLOPT_URL, "http://m.vk.com".$link)) ui_net_error();
  48. curl_setopt_array($curl,$user->make_opts('rchut'));
  49. // curl_setopt($curl,CURLOPT_POST,true);
  50. // curl_setopt($curl,CURLOPT_POSTFIELDS,array(
  51. // '_ajax'=> '1',
  52. // 'hash' => $hash
  53. // ));
  54.  
  55. $result = curl_exec($curl);
  56. curl_close($curl);
  57. file_put_contents("leave_answer.log",$result);
  58.  
  59.  
  60. }
  61. private function create($onlyone){
  62. $uploadfile = $this->uploadfile;
  63. if($onlyone == false) $accs = explode("\n",file_get_contents("tasks/".$this->task."/accounts.txt"));
  64. else {
  65. $accs = array($onlyone);
  66. }
  67. rm_by_val("",$accs);
  68. UI::vkgg_success("Всего аккаунтов: ".count($accs)."<br/>");
  69. echo str_repeat(' ',1024*64);
  70. flush();
  71.  
  72. foreach($accs as $e){
  73. $errs = 0;
  74. start:
  75. $errs++;
  76. $acc = explode(":",$e);
  77. $login = $acc[0];
  78. $password = $acc[1];
  79. $plogin = $acc[2];
  80. $dog = strrpos($acc[3],"@");
  81. $ppassword = substr($acc[3],0,$dog);
  82. $proxy = substr($acc[3],$dog+1,strlen($acc[3]));
  83. $phost = $proxy;
  84. $pport = $acc[4];
  85. $hash = md5($login);
  86. $user = new login($login,$password,$plogin.":".$ppassword."@".$phost.":".$pport);
  87. if(!$user->join()) {
  88. UI::vkgg_error("Ошибка авторизации");
  89. echo str_repeat(' ',1024*64);
  90. flush();
  91. rm_by_val($e,$accs);
  92. file_put_contents("tasks/".$this->task."/accounts.txt",implode("\n",$accs));
  93. file_put_contents("tasks/".$this->task."/blocked.txt",$e."\n",FILE_APPEND);
  94. continue;
  95. }
  96.  
  97. ////////////////////////////////////////////
  98. echo str_repeat(' ',1024*64);
  99. flush();
  100. $curl = curl_init();
  101. if( !curl_setopt($curl,CURLOPT_URL, "http://m.vk.com/groups?act=new ")) ui_net_error();
  102. curl_setopt_array($curl,$user->make_opts('rcutv'));
  103. $result = curl_exec($curl);
  104. file_put_contents("log_for_checking.log.txt",$result."\n\n\n".$this->name."\n\n\n".$uploadfile);
  105. curl_close($curl);
  106. $tags = preg_match('|<form action="(/groups\?act=create.*?)" method="post">|sei',$result,$regs);
  107. if(count($regs)===0){
  108. if(!$user->join()){
  109. UI::vkgg_error("Ошибка авторизации");
  110. echo str_repeat(' ',1024*64);
  111. flush();
  112. rm_by_val($e,$accs);
  113. file_put_contents("tasks/".$this->task."/accounts.txt",implode("\n",$accs));
  114. file_put_contents("tasks/".$this->task."/blocked.txt",$e."\n",FILE_APPEND);
  115. continue;
  116. }else{
  117. if(strpos($result,"act=blocked")){
  118. UI::vkgg_error("Пользователь заблокирован. Необходима ручная разблокировка по смс-коду");
  119. echo str_repeat(' ',1024*64);
  120. flush();
  121. rm_by_val($e,$accs);
  122. file_put_contents("tasks/".$this->task."/accounts.txt",implode("\n",$accs));
  123. file_put_contents("tasks/".$this->task."/blocked.txt",$e."\n",FILE_APPEND);
  124. continue;
  125. }
  126. if($errs>2){
  127. UI::vkgg_error("Возможно, вк вас блокирует");
  128. echo str_repeat(' ',1024*64);
  129. flush();
  130. rm_by_val($e,$accs);
  131. file_put_contents("tasks/".$this->task."/accounts.txt",implode("\n",$accs));
  132. file_put_contents("tasks/".$this->task."/blocked.txt",$e."\n",FILE_APPEND);
  133. continue;
  134. }
  135. UI::vkgg_error("Пользователь заблокирован. Но, может, и нет. Пробуем еще раз");sleep(3);
  136. goto start;
  137. }
  138. }
  139. $errs=0;
  140.  
  141. echo str_repeat(' ',1024*64);
  142. flush();
  143. $link = $regs[1];
  144. $data = array();
  145. $data['title'] = ''.$this->name;
  146. $data['type'] = "0";
  147. $curl = curl_init();
  148. if( !curl_setopt($curl,CURLOPT_URL, "http://m.vk.com".$link)) ui_net_error();
  149. curl_setopt_array($curl,$user->make_opts('rcuthfv'));
  150. if( !curl_setopt($curl,CURLOPT_POST, true)) ui_net_error();
  151. if( !curl_setopt($curl,CURLOPT_POSTFIELDS, $data))ui_net_error();
  152. $result = curl_exec($curl);
  153. curl_close($curl);
  154. file_put_contents("fromthefuture.log.txt",$result."\n\n\n".$this->name."\n\n\n".$uploadfile);
  155. if(strpos($result,'<div class="captcha_form">')){
  156. UI::vkgg_success("Ожидаем капчу для создания группы...<br/>");
  157. $tags = preg_match('|nput type="hidden" name="captcha_sid" value="(.*?)"><input type="hidden" name="tit|sei',$result,$regs);
  158. if(count($regs)===0){
  159. UI::vkgg_error("Ошибка. Возможно, сервера вконтакте неисправны");
  160. rm_by_val($e,$accs);
  161. file_put_contents("tasks/".$this->task."/accounts.txt",implode("\n",$accs));
  162. file_put_contents("tasks/".$this->task."/blocked.txt",$e."\n",FILE_APPEND);
  163. continue;
  164. }
  165. echo str_repeat(' ',1024*64);
  166. flush();
  167. $sid = $regs[1];
  168. $key = sendCaptcha($sid);
  169. $tags = preg_match('|<form action="(/groups\?act=create.*?)" method="post">|sei',$result,$regs);
  170. if(count($regs)===0){
  171. echo "Ошибка. Создать группу невозможно, так как пользователя ".$login." временно заблокировали";
  172. rm_by_val($e,$accs);
  173. file_put_contents("tasks/".$this->task."/accounts.txt",implode("\n",$accs));
  174. file_put_contents("tasks/".$this->task."/blocked.txt",$e."\n",FILE_APPEND);
  175. continue;
  176. }
  177. echo str_repeat(' ',1024*64);
  178. flush();
  179. $link = $regs[1];
  180. // $key = sendCaptcha($sid);
  181. $data = array();
  182. $data['title'] = $this->name;
  183. $data['type'] = "0";
  184. $data['captcha_sid'] = $sid;
  185. $data['captcha_key'] = $key;
  186. $curl = curl_init();
  187. if( !curl_setopt($curl,CURLOPT_URL, "http://m.vk.com".$link)) ui_net_error();
  188. curl_setopt_array($curl,$user->make_opts('rcuthf'));
  189. if( !curl_setopt($curl,CURLOPT_POST, true)) ui_net_error();
  190. if( !curl_setopt($curl,CURLOPT_POSTFIELDS, $data))ui_net_error();
  191. $result = curl_exec($curl);
  192. curl_close($curl);
  193. }
  194. echo str_repeat(' ',1024*64);
  195. flush();
  196. $tags = preg_match('|/club(.*?)\?act|sei',$result,$regs);
  197. if(count($regs)===0){
  198. UI::vkgg_error("Ошибка. Группу создать не удалось, так как пользователя ".$login." временно заблокировали<br/>");
  199. rm_by_val($e,$accs);
  200. file_put_contents("tasks/".$this->task."/accounts.txt",implode("\n",$accs));
  201. file_put_contents("tasks/".$this->task."/blocked.txt",$e."\n",FILE_APPEND);
  202. continue;
  203. }
  204. $gid = $regs[1];
  205. $this->gid = $gid;
  206. $groups = explode("\n",file_get_contents("tasks/".$this->task."/group.txt"));
  207. $was = false;
  208. foreach($groups as &$val){
  209. if(explode(":",$val)[0] == $login){
  210. $val = explode(":",$val)[0].":".$gid;
  211. $was = true;
  212. file_put_contents("tasks/".$this->task."/group.txt",implode("\n",$groups));
  213. break;
  214. }
  215. }
  216. echo str_repeat(' ',1024*64);
  217. flush();
  218. if(!$was) file_put_contents("tasks/".$this->task."/group.txt",$login.":".$gid."\n",FILE_APPEND);
  219. UI::vkgg_success("Группа <a target='_blank' href='http://vk.com/club".$gid."'>club".$gid."</a> создана...<br/>");
  220. echo str_repeat(' ',1024*64);
  221. flush();
  222. $curl = curl_init();
  223. if( !curl_setopt($curl,CURLOPT_URL, "https://vk.com/al_page.php")) ui_net_error();
  224. curl_setopt_array($curl,$user->make_opts('rcutv'));
  225. if( !curl_setopt($curl,CURLOPT_POST, true)) ui_net_error();
  226. if( !curl_setopt($curl,CURLOPT_POSTFIELDS, array(
  227. 'act' => "a_get_contacts",
  228. 'al' => '1',
  229. 'oid' => "-".(int)$gid
  230. )))ui_net_error();
  231. $result = curl_exec($curl);
  232. curl_close($curl);
  233. UI::vkgg_error("пампам");
  234. file_put_contents("contact.log",$result);
  235. $tags = preg_match('|"Page\.deleteContact\(-\d+, \d+, \'(.*?)\'\)">|sei',$result,$regs);
  236. if(count($regs)===0){
  237. UI::vkgg_error("Не удается найти хеш на странице. Вероятно, VK что-то изменил. Пропускаем.");
  238. continue;
  239. }
  240. $hash = $regs[1];
  241. $curl = curl_init();
  242. if( !curl_setopt($curl,CURLOPT_URL, "https://vk.com/al_page.php")) ui_net_error();
  243. curl_setopt_array($curl,$user->make_opts('rhctv'));
  244. if( !curl_setopt($curl,CURLOPT_POST, true)) ui_net_error();
  245. curl_setopt($curl,CURLOPT_HTTPHEADER,array(
  246. 'X-Requested-With: XMLHttpRequest',
  247. 'Referer: https://vk.com/club125261858'));
  248. if( !curl_setopt($curl,CURLOPT_POSTFIELDS, array(
  249. 'act' => "a_delete_contact",
  250. 'al' => '1',
  251. 'hash' =>$hash,
  252. 'mid' => (int)$user->get_id(),
  253. 'oid' => "-".(int)$gid
  254. )))ui_net_error();
  255. $result = curl_exec($curl);
  256. curl_close($curl);
  257. $this->gid=$gid;
  258. file_put_contents("mega_log.log.txt",$result."\n\n\n".$hash." ".$user->get_id()." ".$gid);
  259. //
  260. ///////////////////////NOW LOADING PHOTO///////////////////////
  261. //
  262. $curl = curl_init();
  263. if( !curl_setopt($curl,CURLOPT_URL, "http://m.vk.com/")) ui_net_error();
  264. curl_setopt_array($curl,$user->make_opts('rcuptv'));
  265.  
  266. $result = curl_exec($curl);
  267. curl_close($curl);
  268. UI::vkgg_success("Теперь пытаемся изменить аватарку...");
  269. ////////////////////////////////////
  270. $curl = curl_init();
  271. if( !curl_setopt($curl,CURLOPT_URL, "https://m.vk.com/album-".$this->gid."_0?act=add")) ui_net_error();
  272. curl_setopt_array($curl,$user->make_opts('rhcuv'));
  273. $result = curl_exec($curl);
  274. curl_close($curl);
  275. file_put_contents("url_taked.log",$result);
  276. UI::vkgg_success("URL получен..");
  277. //////////////////////////////////////////////
  278. $tags = preg_match('|<form action="(https://.*?)" method="post" enctype="multipart/for|sei',$result,$regs);
  279. if(count($regs)===0){
  280. UI::vkgg_error("Не удается найти ссылку на странице. Вероятно, VK что-то изменил. Пропускаем изменение аватарки.");
  281. continue;
  282. }
  283. $url = $regs[1];
  284. ///////////////////////////////////////////
  285.  
  286. $curl = curl_init();
  287. if( !curl_setopt($curl,CURLOPT_URL, $url)) ui_net_error();
  288. curl_setopt_array($curl,$user->make_opts('rcutfv'));
  289.  
  290. $result = curl_exec($curl);
  291. curl_close($curl);
  292. /////////////////////////////////
  293. $data = [
  294. 'photo' => new CurlFile($this->uploadfile, $this->mime, $this->uploadfile),
  295. '__extra'=>'1'
  296. ];
  297. $tries = 0;
  298. tryImage:
  299. $tries++;
  300. if($tries>0) {
  301. UI::vkgg_error("попытка номер <b>#".$tries."</b>");
  302. echo str_repeat(' ',1024*64);
  303. flush();
  304. }
  305. $ch = curl_init();
  306. // echo $url;
  307. curl_setopt($ch, CURLOPT_URL, str_replace(array("\n","\r"),'',$url));
  308. curl_setopt_array($ch,$user->make_opts('rhcutv'));
  309. curl_setopt($ch, CURLOPT_POST, 1);
  310. curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
  311. curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
  312. $res = curl_exec($ch);
  313. curl_close($ch);
  314. UI::vkgg_success("Аватарка загружена...");
  315. if(strpos($res, "add&m=118")){
  316. UI::vkgg_error("Выбрана слишком маленькая фотография! Фотография не должна быть меньше 200x200 px<br/>");
  317. exit;
  318. }elseif(strpos($res, "add&m=117")){
  319. UI::vkgg_error("Выбранное изображение некорректно<br/>");
  320. exit;
  321. }
  322.  
  323. $tags = preg_match('|Location: (.*?)\n|m',$res,$regs);
  324. if(count($regs)===0){
  325. if($tries<3){
  326. sleep(4);
  327. goto tryImage;
  328. }
  329. UI::vkgg_error("Почему-то фото не удается поменять. Попробуйте позже");
  330. continue;
  331. }
  332. UI::vkgg_success("почти...");
  333. $url = $regs[1];
  334. echo str_repeat(' ',1024*64);
  335. flush();
  336. for($j=0;$j<2;$j++){
  337. $ch = curl_init();
  338. curl_setopt($ch, CURLOPT_URL, str_replace(array("\n","\r"),"",$url));
  339. curl_setopt_array($ch,$user->make_opts('hrcutv'));
  340. $res = curl_exec($ch);
  341. curl_close($ch);
  342. }
  343. UI::vkgg_success("Фотография изменена!");
  344. if(!is_dir("stats/".$this->gid)) mkdir("stats/".$this->gid);
  345. file_put_contents("stats/".$this->gid."/user.txt",$login);
  346. file_put_contents("stats/all_groups.txt",$this->gid."\n",FILE_APPEND);
  347. self::leave($this->gid,$user);
  348. // self::leave($gid,$user);
  349. }
  350. }
  351. }
  352. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement