logout(true); // выход пользователя с редиректом if(!array_key_exists("formerrors", $_SESSION)) $_SESSION['formerrors'] = array(); if(!array_key_exists("formmessages", $_SESSION)) $_SESSION['formmessages'] = array(); /* Создаем класс шаблона */ $template = new Template(); /* функция возвращает результат работы метода класса */ function getFunction($obj, $method, $args=array()){ if(!$obj || !$method || !method_exists($obj, $method)) return false; if(is_object($obj)) $class = "$"."obj->"; // если передан объект класса else $class = $obj."::"; // если передано имя класса ob_start(); // включаем буфер eval("$"."method_result = ".$class.$method."(".((count($args)>0)?"\"".implode("\",\"",$args)."\"":"").");"); // выполняем метод $result = ob_get_contents(); // выбрасываем содержимое буфера с результатом метода в переменную if(!$result && $method_result && !is_bool($method_result)) $result = $method_result; // если вывод через return ob_end_clean(); // выключаем и чистим буфер return $result; } $mons = array(1 => "Янв","Фев","Мар","Апр","Май","Июн","Июл","Авг","Сен","Окт","Ноя","Дек" ); $mons_ = array(1 => "Янв","Фев","Мар","Апр","Мая","Июн","Июл","Авг","Сен","Окт","Ноя","Дек" ); $months = array(1 => "Январь","Февраль","Март","Апрель","Май","Июнь","Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь" ); $months_ = array(1 => "Января","Февраля","Марта","Апреля","Мая","Июня","Июля","Августа","Сентября","Октября","Ноября","Декабря" ); function print_p($array){ global $user; if(!is_object($user)) return false; if($user->getLogin()!="oav" && $user->getLogin()!="krutaman" && $user->getLogin()!="krutaman@mail.ru") return false; echo "
".print_r($array,1)."
"; } function replacing($in, $out, $text){ while(strpos($text, $in)!==false){ $text = str_replace($in, $out, $text); } return $text; } function JiraRestAPI($args){ global $user; if(is_object($user) && $user->getBasicAuth() && !isset($args['basicauth'])) $args['basicauth'] = $user->getBasicAuth(); if(!isset($args['posttype'])) $args['posttype'] = "json"; $headers = array(); if($args['posttype']=="json") $headers = array('Accept: application/json','Content-Type: application/json'); if(isset($args['headers']) && is_array($args['headers'])) foreach($args['headers'] as $header) $headers[] = $header; $ch = curl_init(); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_VERBOSE, 1); curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); if(isset($args['debug']) && $args['debug']) curl_setopt($ch, CURLOPT_HEADER, 1); // Возвращать заголовки header if(isset($args['delete'])){ curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "DELETE"); if($args['posttype']=="json") curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($args['delete'])); else curl_setopt($ch, CURLOPT_POSTFIELDS, $args['delete']); } elseif(isset($args['put'])){ curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT"); if($args['posttype']=="json") curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($args['put'])); else curl_setopt($ch, CURLOPT_POSTFIELDS, $args['put']); } elseif(isset($args['post'])){ curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); if($args['posttype']=="json") curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($args['post'])); else curl_setopt($ch, CURLOPT_POSTFIELDS, $args['post']); } curl_setopt($ch, CURLOPT_URL, $args['url']); if(isset($args['basicauth'])) curl_setopt($ch, CURLOPT_USERPWD, $args['basicauth']); $result = curl_exec($ch); $logargs = $args; $logargs['basicauth'] = current(explode(":",$logargs['basicauth'])); $_SERVER['requestAPI'][] = $logargs; $http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE); // print_r($result); //print_r($args); // die("-11"); if($http_code>=401 && isset($args['repeatTimeout']) && $args['repeatTimeout']>0){ $starttime = microtime(1); while($http_code>=401 && (microtime(1)-$starttime)=401 && (!isset($args['debug']) || !$args['debug'])){ return $http_code; } if(isset($args['debug']) && $args['debug']) return print_r($getinfo,1).PHP_EOL.$result; else return json_decode($result, true); } function JiraCRMAPI($args = array()){ global $user, $crm_api_key, $crm_api_url; $args['apiKey'] = base64_decode($crm_api_key); $args['userName'] = $user->getLogin(); $buffer = file_get_contents($crm_api_url."?".http_build_query($args)); if(json_decode($buffer)) return json_decode($buffer); else return $buffer; } function JiraRequest($args = array()){ global $jira_bacode, $jira_client_groups, $user, $jira_host; if(!$user->getLogin()) return false; $inGroup = $user->checkGroup($jira_client_groups[0]); if($inGroup){ // Если пользователь не в группе jira-users if(!$user->checkGroup("jira-users",$user->getLogin())){ // Включаем в группу jira-users $result_in = JiraRestAPI( array( "url" => $jira_host."/rest/api/2/group/user?groupname=jira-users&name=".$user->getLogin(), "post" => array( "groupname" => "jira-users", "name" => $user->getLogin(), ), "basicauth" => base64_decode($jira_bacode), "repeatTimeout" => 5, // повторы запросов с таймаутом ) ); } } $result_request = JiraRestAPI($args); if($inGroup){ // Исключаем из группу jira-users $result_out = JiraRestAPI( array( "url" => $jira_host."/rest/api/2/group/user?groupname=jira-users&username=".$user->getLogin(), "delete" => array( "groupname" => "jira-users", "username" => $user->getLogin(), ), "basicauth" => base64_decode($jira_bacode), ) ); } //echo "OK"; return $result_request; } function redirect($url = false){ if(!$url) $url = $_SERVER['SCRIPT_NAME']; header("Location: ".$url); exit; } function size2str($bytes){ if($bytes >= 1073741824){ $bytes = number_format($bytes / 1073741824, 2) . ' ГБ'; } elseif ($bytes >= 1048576) { $bytes = number_format($bytes / 1048576, 2) . ' МБ'; } elseif ($bytes >= 1024) { $bytes = number_format($bytes / 1024, 2) . ' КБ'; } elseif ($bytes >= 1) { $bytes = $bytes . ' байт'; } else { $bytes = '0 байт'; } return $bytes; } function fineDate($time){ global $mons_; if((time()-$time)<60) return "Только что"; if(date("Ymd")==date("Ymd", $time)) return "Сегодня ".date("H:i", $time); if(date("Ymd",time()-86400)==date("Ymd", $time)) return "Вчера ".date("H:i", $time); $n = date("n", $time); if(date("Y")==date("Y", $time)) return date("j ", $time).$mons_[$n].date(" H:i", $time); return date("j ", $time).$mons_[$n].date(" Y H:i", $time); } function exitWithError($error){ global $template; echo "
".$error."

"; include($template->dir."/footer.php"); exit; } //Добавления комментария $canEdit=true; /* if(isset($_POST['param1'])){ if($canEdit){ $result = JiraRequest( array( "url" => $jira_host."/rest/api/2/issue/".$_POST['param2']."/comment", "post" => array( "body" => trim($_POST['param1']), ), ) ); if(is_array($result['errors']) && count($result['errors'])>0){ $_SESSION['error_msg'] = "Ошибка добавления комментария"; //echo "Ошибка добавления комментария"; } else { $_SESSION['success_msg'] = "Комментарий успешно добавлен"; //echo "Комментарий успешно добавлен"; } } else { $_SESSION['error_msg'] = "У Вас нет прав на добавление комментария"; } } */ //echo "11"; //if (isset($_POST['param1'])) echo "I get param1 = ".$_POST['param1']." and param2 = ".$_POST['param2']; ?>
Fatal error: Uncaught Error: Call to a member function checkAuth() on null in /var/www/jira_client/signup.php:4 Stack trace: #0 {main} thrown in /var/www/jira_client/signup.php on line 4