Файл: dictionary-maker/make.php
Строк: 82
<?php
            /**************************************************************************************************
            | 
            | http://alternanetworks.com
            | ask@alternanetworks.com
            |
            |**************************************************************************************************
            |
            | By using this software you agree that you have read and acknowledged our End-User License 
            | Agreement available at http://envato.com/ and to be bound by it.
            |
            | Copyright (c) 2011 alternanetworks.com All rights reserved.
            |
            | http://codecanyon.net/user/AlternaNetworks 
            |**************************************************************************************************/
            //error_reporting( E_ALL );
            //ini_set( 'display_errors', '1' );
            // replace array
            $chars = array( 'Љ'=>'S', 'љ'=>'s', 'Ћ'=>'Z', 'ћ'=>'z', 'А'=>'A', 'Б'=>'A', 'В'=>'A', 'Г'=>'A', 'Д'=>'A', 'Е'=>'A', 'Ж'=>'A', 'З'=>'C', 'И'=>'E', 'Й'=>'E',
                            'К'=>'E', 'Л'=>'E', 'М'=>'I', 'Н'=>'I', 'О'=>'I', 'П'=>'I', 'С'=>'N', 'Т'=>'O', 'У'=>'O', 'Ф'=>'O', 'Х'=>'O', 'Ц'=>'O', 'Ш'=>'O', 'Щ'=>'U',
                            'Ъ'=>'U', 'Ы'=>'U', 'Ь'=>'U', 'Э'=>'Y', 'Ю'=>'B', 'Я'=>'Ss', 'а'=>'a', 'б'=>'a', 'в'=>'a', 'г'=>'a', 'д'=>'a', 'е'=>'a', 'ж'=>'a', 'з'=>'c',
                            'и'=>'e', 'й'=>'e', 'к'=>'e', 'л'=>'e', 'м'=>'i', 'н'=>'i', 'о'=>'i', 'п'=>'i', 'р'=>'o', 'с'=>'n', 'т'=>'o', 'у'=>'o', 'ф'=>'o', 'х'=>'o',
                            'ц'=>'o', 'ш'=>'o', 'щ'=>'u', 'ъ'=>'u', 'ы'=>'u', 'э'=>'y', 'э'=>'y', 'ю'=>'b', 'я'=>'y' );
            $min = isset( $_POST['min'] ) && is_numeric( $_POST['min'] ) ? $_POST['min'] : 4;
            $max = isset( $_POST['max'] ) && is_numeric( $_POST['max'] ) ? $_POST['max'] : 14;
            $lowercase = true;
            if ( isset( $_FILES['dictionary'] ) && $_FILES['dictionary']['error'] == 0 ) {
                 // setting min/max
                 --$min;
                 ++$max;
                 // load the file
                 $data = file_get_contents( $_FILES['dictionary']['tmp_name'] );
                 // remove line breaks
                 $data = preg_replace( "#n|r|rn#", ' ', $data );
                 // replace unwanted chars
                 $data = strtr( $data, $chars );
                 // remove non chars
                 $data = preg_replace( "/[^p{L}p{N}]/m", ' ', $data );
                 // remove short words
                 $data = preg_replace( '/bw{1,' . $min . '}b/', '', $data );
                 // remove too long words
                 $data = preg_replace( '/bw{' . $max . ',}b/', '', $data );
                 // make array
                 $data = explode( ' ', $data );
                 // remove empty
                 $data = array_filter( array_map( 'trim', $data ) );
                 // if we want only lowercase
                 $data = $lowercase ? array_filter( array_map( 'strtolower', $data ) ) : $data;
                 // unique array
                 $data = array_unique( $data );
                 // reset array
                 $data = array_values( $data );
                 // total of items
                 $total = count( $data );
                 // prepare dictionary
                 $data = json_encode( $data );
                 // get name
                 $name = pathinfo( $_FILES['dictionary']['name'] );
                 $name = str_replace(' ','-',$name['filename']);
                 // download dictionary
                 header( 'Content-disposition: attachment; filename=' . $name . '.dictionary.php' );
                 header( 'Content-type: text/plain' );
                 echo '<?php' . "rn";
                 echo 'if(!defined("CAPTCHA_LOAD_DICTIONARY")){die();}' . "rn";
                 echo '/* dictionary words: ' . $total . ' */' . "rn";
                 echo '/* created: ' . date( 'r' ) . ' */' . "rn";
                 echo '$words=' . "'" . $data . "';";
                 exit;
            }
            header( 'Location: ' . $_SERVER['HTTP_REFERER'] );