• ВПН сервер и GoodbyeDPI могут работать в паре?

    @Hakhagmon
    гдп только 80 и 443 порты обрабатывает
    Ответ написан
    Комментировать
  • Как решить проблему с Too many requests при server-side rendering?

    @Hakhagmon
    Настройка посредника throttle
    Cделаем ограничение на 5 попыток в минуту.

    Route::group(['prefix' => 'api', 'middleware' => 'throttle:5'], function () {
      Route::get('people', function () {
        return Person::all();
      });
    });


    если кто-то достигнет предела, то ему надо будет ждать 10 минут.

    Route::group(['prefix' => 'api', 'middleware' => 'throttle:5,10'], function () {
        Route::get('people', function () {
            return Person::all();
        });
    });
    Ответ написан
    Комментировать
  • Что нужно знать для работы c API?

    @Hakhagmon
    наверное ты про это vknet.github.io/vk/ и https://vk.com/dev/methods
    Ответ написан
    Комментировать
  • Какие есть скрипты для реализации сервиса коротких ссылок?

    @Hakhagmon
    yourls.org + есть аналитика
    Ответ написан
    Комментировать
  • Как передать в форму php переменную?

    @Hakhagmon
    <input name="title" value="<?=$title;?>" type="hidden">
    Ответ написан
    Комментировать
  • Насколько этично ходить на собеседования, если нет цели найти работу?

    @Hakhagmon
    часто сам там делал, проходил тесты на собеседовании и узнавал какие знания нужно подтянуть
    Ответ написан
    Комментировать
  • Не работает форма обратной связи?

    @Hakhagmon
    попробуй заменить функцию mail() на другую с настройками, мб что-то на стороне сервера
    Ответ написан
  • Почему php не отображает второй массив?

    @Hakhagmon
    Укажи двух "Ассистентов" и покажи что выведет
    Ответ написан
    Комментировать
  • Кто может помочь в написании парсера на php?

    @Hakhagmon
    function antara($string, $start, $end){
    $string = " ".$string;
    $ini = strpos($string,$start);
    if ($ini == 0) return "";
    $ini += strlen($start);
    $len = strpos($string,$end,$ini) - $ini;
    return substr($string,$ini,$len);
    }
    $data = 'call addentry.bat c:\SD\RG "%SD_EVENTHOME%bin\sd_event.exe" -a wo/Pd -s pp2  -x "WO: ОАСУБД: БД SARD (NyanCat) Backup Logs" -c WO -m insert -l "C:\SD\wo_creation.log" -v "EXTID=REG%DATE% %TIME% %RANDOM%"';
    echo antara($data,'-x "','"');
    Ответ написан
    Комментировать
  • Как отправить сообщение в канал чата (channel) через telegram API?

    @Hakhagmon
    Добавляешь бота в администраторы, получаешь ид чата и через бота на этот ид что хочешь то и отправляешь
    Ответ написан
    Комментировать
  • Как добавить видео youtube в группу вконтакте через VK API?

    @Hakhagmon
    //to vk
    $link = 'https://youtu.be/'.$_POST['fild']; // ccылка на ютуб
    $name = urlencode($item['title']); //название видео (не обязательно)
    $description = 'https://post-hardcore.ru/video/'.$vid.'-'.$alt.'.html'; //описание видео
    $wallpost = '0'; //опубливоать на стене (0 - нет, 1 - да)
    
    $a = 'https://api.vk.com/method/video.save?group_id=23138673&link='.$link.'&name='.$name.'&description=' . urlencode($description) . '&wallpost=' . $wallpost . '&access_token=XYZ'; //собираем ccылку для запроса (XYZ - токен, rights to call this method: video)
    
    $addvideo = file_get_contents(rtrim($a)); //отправляем запрос
    $obj = json_decode($addvideo); //обрабатываем джисон 
     $upload_url = $obj->{'response'}->{'upload_url'}; //тут получаем ссылку для подтверждения добавления
     file_get_contents(rtrim($upload_url)); //открываем ссылку


    $wallpost = '0'; - этот кстати не проверял, мб в доступ на wall еще нужен будет
    Ответ написан
    3 комментария
  • Добавление видео YouTube / Vimeo посредством VK API?

    @Hakhagmon
    Ответ написан
    Комментировать
  • Обьясние принцип аунтификации на сайте?

    @Hakhagmon
    Использую куки на большом проекте, полет нормальный.
    ну и про сессии не стоит забывать
    Ответ написан
    Комментировать
  • Как вывести из массива элементы по группам?

    @Hakhagmon
    $query = "SELECT * from contry";
    $res = mysql_query( $query );
    
         while ( $item = mysql_fetch_array( $res ) )
    
        { 
    if ($item['country.name']=="Россия") {$rus.= $item['city.name'].' '; };
    if ($item['country.name']=="Беларусь") {$bel.= $item['city.name'].' '; };       		
    if ($item['country.name']=="Казахстан") {$kz.= $item['city.name'].' '; };
    }
    
    echo 'Россия: '.$rus;
    echo 'Беларусь: '.$bel;
    echo 'Казахстан :'.$kz;
    Ответ написан
    Комментировать
  • Адекватная цена за вёрстку шаблона Wordpress?

    @Hakhagmon
    На Wordpress и так полно хороших бесплатных шаблонов, которые можно под себя доделать.
    Так что цена МАКСИМУМ 3000р
    Ответ написан
  • Как записать пользователя на курс в moodle?

    @Hakhagmon Автор вопроса
    Спасибо alexdjachenko за наводку, сделал функцию, вот исходники

    $userid = $_GET['userid'];  //id студента
    $courseid =  $_GET['courseid']; //id курса
    
    
    require_once('config.php');   
    require_once('lib/setup.php');
    function enroll_to_course($courseid, $userid, $roleid, $extendbase, $extendperiod)  {
        global $DB;
    
        $instance = $DB->get_record('enrol', array('courseid'=>$courseid, 'enrol'=>'manual'), '*', MUST_EXIST);
        $course = $DB->get_record('course', array('id'=>$instance->courseid), '*', MUST_EXIST);
        $today = time();
        $today = make_timestamp(date('Y', $today), date('m', $today), date('d', $today), 0, 0, 0);
    
        if(!$enrol_manual = enrol_get_plugin('manual')) { throw new coding_exception('Can not instantiate enrol_manual'); }
        switch($extendbase) {
            case 2:
                $timestart = $course->startdate;
                break;
            case 3:
            default:
                $timestart = $today;
                break;
        }  
        if ($extendperiod <= 0) { $timeend = 0; }   // extendperiod are seconds
        else { $timeend = $timestart + $extendperiod; }
        $enrolled = $enrol_manual->enrol_user($instance, $userid, $roleid, $timestart, $timeend);
        add_to_log($course->id, 'course', 'enrol', '../enrol/users.php?id='.$course->id, $course->id);
    
        return $enrolled;
    }
    
    enroll_to_course($courseid, $userid, 5, 3, 0); // 5,3,0 - $roleid, $extendbase, $extendperiod
    Ответ написан
    Комментировать
  • Как реализовать парсинг Exel?

    @Hakhagmon
    Вот давно делал, может пригодится

    class CSV {
        //private $_csv_file = null;
    	public $_csv_file = null;
        public function __construct($csv_file) {
            if (file_exists($csv_file)) { 
                $this->_csv_file = $csv_file; 
            }
            else throw new Exception("Файл \"$csv_file\" не найден"); 
        }
        public function getCSV() {
            $handle = fopen($this->_csv_file, "r");
            $array_line_full = array();
            while (($line = fgetcsv($handle, 0, ";")) !== FALSE) { 
                $array_line_full[] = $line; 
            }
            fclose($handle); 
            return $array_line_full;
        }
    }
    
    try {
        $csv = new CSV("upload.csv"); 
    	
        echo "<h2>Содержимое файла " . $csv->_csv_file . "</h2>";
        $get_csv = $csv->getCSV();
    	$i = 1;
        foreach ($get_csv as $value) {
            
    		echo '<form id="form' . $i . '" name="form' . $i . '" action="/admin.php?mod=csvupload-action" method="post">';
    		echo '<div><label for="f0">Название:</label><input type="text" name="f0" value="' . $value[0] . '"></div>';		
            echo '<div><label for="f1">Категория:</label><input type="text" name="f1" value="' . $value[1] . '"></div>';
            echo '<div><label for="f2">Вид образовательной программы:</label><input type="text" name="f2" value="' . $value[2] . '"></div>';		
    		echo '<div><label for="f3">Дата События:</label><input type="text" name="f3" value="' . $value[3] . '"></div>';
    		echo '<div><label for="f4">Конец События:</label><input type="text" name="f4" value="' . $value[4] . '"></div>';
    		echo '<div><label for="f5">Краткое описание (shortstory):</label><!--textarea rows="10" name="f5">' . htmlspecialchars($value[5]) . '</textarea--><input type="text" name="f5" value="' . htmlspecialchars($value[5]) . '"></div>';
    		echo '<div><label for="f6">Полное описание (fullstory):</label><!--textarea rows="10" name="f6">' . htmlspecialchars($value[6]) . '</textarea--><input type="text" name="f6" value="' . htmlspecialchars($value[6]) . '"></div>';
    		echo '<div><label for="f8">Форма обучения:</label><input type="text" name="f8" value="' . $value[8] . '"></div>';
    		echo '<div><label for="f9">Направление:</label><input type="text" name="f9" value="' . $value[9] . '"></div>';
    		echo '<div><label for="f10">Стоимость:</label><input type="text" name="f10" value="' . $value[10] . '"></div>';
    		echo '<div><label for="f11">Продолжительность  ч.:</label><input type="text" name="f11" value="' . $value[11] . '"></div>';
    		echo '<div><label for="f12">Сроки обучения д.:</label><input type="text" name="f12" value="' . $value[12] . '"></div>';
    		echo '<div><label for="f13">Время проведения занятий:</label><input type="text" name="f13" value="' . $value[13] . '"></div>';
    		echo '<div><label for="f14">Телефон:</label><input type="text" name="f14" value="' . $value[14] . '"></div>';
    		echo '<div><label for="f15">E-mail:</label><input type="text" name="f15" value="' . $value[15] . '"></div>';
    		echo '<div><label for="f16">Слушатели:</label><input type="text" name="f16" value="' . $value[16] . '"></div>';
    		echo '<div><label for="f17">Место обучения:</label><input type="text" name="f17" value="' . $value[17] . '"></div>';
    		echo '<div><label for="f18">Адрес:</label><input type="text" name="f18" value="' . $value[18] . '"></div>';
    		echo '<div><label for="f19">Выпускной документ:</label><input type="text" name="f19" value="' . $value[19] . '"></div>';
    		echo '<div><label for="f20">Учебный план (ссылка):</label><input type="text" name="f20" value="' . $value[20] . '"></div>';
    		echo '<button>Сохранить</button></form>';
    
    		$i++;
        }
    }
    catch (Exception $e) {
        echo "Ошибка: " . $e->getMessage();
    }
    
    echofooter();
    Ответ написан
    Комментировать
  • Как вывести значение переменной (строка) в код (javascript)?

    @Hakhagmon Автор вопроса
    Забыл отписаться.

    Все содержимое запихиваем и создаем новый скрипт. Всем спасибо)

    script.innerHTML = output;
    document.documentElement.children[0].appendChild(script);
    Ответ написан
    Комментировать