Example #1
0
function get_data($table, $format, $mysql)
{
    //получаем данные из выбранной таблицы
    $query = "SELECT * FROM {$table}";
    $result = $mysql->query($query);
    $data = $result->fetch_all(MYSQL_ASSOC);
    //проверка формата для вызова соответствующей функции генерирования файла
    switch ($format) {
        case "CSV":
            create_csv($table, $data, $mysql);
            break;
        case "JSON":
            create_json($table, $data, $mysql);
            break;
        case "XML":
            create_xml($table, $data, $mysql);
            break;
        default:
            echo "<h3>Выберите нужный формат из списка!</h3>";
    }
}
Example #2
0
 private function _create_json_news($id)
 {
     $ret = $this->_get_edit_news($id);
     foreach ($ret as $rs) {
         $rs['news_category'] = json_decode($rs['news_category'], true);
         $rs['news_reporter'] = json_decode($rs['news_reporter'], true);
         $rs['news_editor'] = json_decode($rs['news_editor'], true);
         $rs['news_photographer'] = json_decode($rs['news_photographer'], true);
         $rs['news_tags'] = json_decode($rs['news_tags_hidden'], true);
         $rs['news_keywords'] = json_decode($rs['news_keywords_hidden'], true);
         $arrCategori = $rs['news_category'];
         foreach ($arrCategori as $cat) {
             $rs['news_category']['id'] = $cat;
             $rs['news_category']['name'] = isset($this->arr_Categori['id_to_name'][$cat]) ? $this->arr_Categori['id_to_name'][$cat] : '';
             $rs['news_category']['url'] = isset($this->arr_Categori['id_to_url'][$cat]) ? $this->arr_Categori['id_to_url'][$cat] : '';
             if (!isset($this->arr_Categori['grandparent_id_to_name'][$cat])) {
                 $rs['news_category']['parent'] = isset($this->arr_Categori['child_id_to_parent'][$cat]) ? $this->arr_Categori['child_id_to_parent'][$cat] : '';
                 $rs['news_category']['parent_id'] = isset($this->arr_Categori['child_url_to_parentid'][$rs['news_category']['url']]) ? $this->arr_Categori['child_url_to_parentid'][$rs['news_category']['url']] : '';
                 $rs['news_category']['parent_url'] = isset($this->arr_Categori['id_to_url'][$rs['news_category']['parent_id']]) ? $this->arr_Categori['id_to_url'][$rs['news_category']['parent_id']] : '';
                 if (!isset($this->arr_Categori['grandparent_id_to_name'][$rs['news_category']['parent_id']])) {
                     $rs['news_category']['parent'] = isset($this->arr_Categori['child_id_to_parent'][$rs['news_category']['parent_id']]) ? $this->arr_Categori['child_id_to_parent'][$rs['news_category']['parent_id']] : '';
                     $rs['news_category']['parent_id'] = isset($this->arr_Categori['name_to_id'][$rs['news_category']['parent']]) ? $this->arr_Categori['name_to_id'][$rs['news_category']['parent']] : '';
                     $rs['news_category']['parent_url'] = isset($this->arr_Categori['id_to_url'][$rs['news_category']['parent_id']]) ? $this->arr_Categori['id_to_url'][$rs['news_category']['parent_id']] : '';
                 }
             } else {
                 $rs['news_category']['parent'] = $rs['news_category']['name'];
                 $rs['news_category']['parent_id'] = $cat;
             }
         }
         unset($rs['news_reporter_hidden']);
         unset($rs['news_photographer_hidden']);
         unset($rs['news_tags_hidden']);
         unset($rs['news_keywords_hidden']);
         unset($rs['news_category'][0]);
         $dt = $rs;
     }
     $filename = $this->config['json_dir'] . 'news/' . $dt['news_category']['parent_url'] . '/' . $dt['news_url'] . '.json';
     $filename_outbox = $this->config['json_dir_out'] . 'news/' . $dt['news_category']['parent_url'] . '/' . $dt['news_url'] . '.json';
     $json = create_json($dt, $filename);
     $json = create_json($dt, $filename_outbox);
 }
Example #3
0
// Проверка корректности таблицы
if (in_array($table, $allow_tables)) {
    try {
        $stmt = $pdo->query("SELECT * FROM {$table}");
        // Получаем имена столбцов
        $keys_stmt = $pdo->query("SHOW COLUMNS FROM {$table}");
    } catch (PDOException $e) {
        die("Ошибка выполенения запроса: " . $e->getMessage());
    }
} else {
    die("Неверно указана таблица");
}
$data = $stmt->fetchAll(PDO::FETCH_ASSOC);
$keys = $keys_stmt->fetchAll(PDO::FETCH_ASSOC);
unset($pdo);
$keys_array = array();
foreach ($keys as $key) {
    $keys_array[] = $key['Field'];
}
switch ($format) {
    case 'csv':
        $filename = create_csv($data, $keys_array, $filepath);
        break;
    case 'json':
        $filename = create_json($data, $filepath);
        break;
    case 'xml':
        $filename = create_xml($data, $keys_array, $filepath, $table);
        break;
}
file_download($filepath);
Example #4
0
 private function _create_json_photonews($news_id)
 {
     //$row = $this->_listData("news_id=" . $news_id);
     //$row = $this->news_model->dt_listData("news_id=" . $news_id, $is_photonews = false);
     $row = $this->news_model->dt_listData("news_id=" . $news_id, '', '', false, '', true);
     $data = array();
     $no = 1;
     foreach ($row as $r) {
         //create rowset of rubric under this news id
         $temp = $this->news_rubric_model->get_data_record("news_rubrics_news_id=" . $r['news_id'], array("news_rubrics_rubrics_id" => "ASC"), 0, 0);
         $r['arr_rubrics'] = array();
         foreach ($temp as $tmp) {
             $r['arr_rubrics'][$tmp['news_rubrics_id']] = $tmp;
         }
         if (count($r['arr_rubrics']) > 0) {
             #$r['arr_rubrics'] = $this->get_rowset_idsorted("mdk_news_rubrics", "news_rubrics_id", "news_rubrics_news_id=".$r['news_id'], array("news_rubrics_rubrics_id"=>"ASC"));
             $r['arr_rubrics'] = count($r['arr_rubrics']) > 0 ? $r['arr_rubrics'] : array();
             //create rowset of tag under this news id
             $temp = $this->tag_news_model->get_data_record("tag_news_news_id=" . $r['news_id'], array("tag_news_id" => "ASC"), 0, 0);
             $r['arr_tags'] = array();
             foreach ($temp as $tmp) {
                 $r['arr_tags'][$tmp['tag_news_id']] = $tmp;
             }
             //create rowset of keywords under this news id
             $temp = $this->news_keywords_model->get_data_record("nk_news_id=" . $r['news_id'], array("nk_id" => "ASC"), 0, 0);
             $r['nk_id'] = array();
             foreach ($temp as $tmp) {
                 $r['arr_keywords'][$tmp['nk_id']] = $tmp;
             }
             //create rubrics name
             $r['rubrics_names'] = array();
             foreach ($r['arr_rubrics'] as $rub) {
                 $r['rubrics_names'][] = $rub['news_rubrics_rubrics_name'];
             }
             $r['rubrics_names'] = implode(", ", $r['rubrics_names']);
             //formate date into readable form
             $r['news_date_publish_formated'] = formatDate($r['news_date_publish'], 2);
             //create checkbox for editor pics
             if ($r['news_editor_pick'] == '1') {
                 $arrPick = array("1" => "#");
             } else {
                 $arrPick = array("1" => "");
             }
             //create checkbox for headline news
             if ($r['news_top_headline'] == '1') {
                 $arrHead = array("1" => "#");
             } else {
                 $arrHead = array("1" => "");
             }
             //create tag name
             $r['tag_names'] = array();
             foreach ($r['arr_tags'] as $rub) {
                 $r['tag_names'][] = $rub['tag_news_tags'];
             }
             $r['tag_names'] = implode(", ", $r['tag_names']);
             //decode editor
             $r['news_editor'] = json_decode($r['news_editor'], true);
             $r['editor_name'] = isset($r['news_editor'][0]) ? $r['news_editor'][0]['name'] : 'unknown';
             //fetch photonews detail data
             $temp = $this->photonews_model->get_data_record("photonews_newsid=" . $r['news_id'], 'photonews_id', 0, 0);
             $r['photonews_detail'] = array();
             foreach ($temp as $tmp) {
                 $r['photonews_detail'][$tmp['photonews_id']] = $tmp;
             }
             $r['news_category'] = json_decode($r['news_category'], true);
             $arrCategori = $r['news_category'];
             foreach ($arrCategori as $cat) {
                 $r['news_category']['id'] = $cat;
                 $r['news_category']['name'] = isset($this->arr_Categori['id_to_name'][$cat]) ? $this->arr_Categori['id_to_name'][$cat] : '';
                 $r['news_category']['url'] = isset($this->arr_Categori['id_to_url'][$cat]) ? $this->arr_Categori['id_to_url'][$cat] : '';
                 if (!isset($this->arr_Categori['grandparent_id_to_name'][$cat])) {
                     $r['news_category']['parent'] = isset($this->arr_Categori['child_id_to_parent'][$cat]) ? $this->arr_Categori['child_id_to_parent'][$cat] : '';
                     $r['news_category']['parent_id'] = isset($this->arr_Categori['child_url_to_parentid'][$r['news_category']['url']]) ? $this->arr_Categori['child_url_to_parentid'][$r['news_category']['url']] : '';
                     $r['news_category']['parent_url'] = isset($this->arr_Categori['id_to_url'][$r['news_category']['parent_id']]) ? $this->arr_Categori['id_to_url'][$r['news_category']['parent_id']] : '';
                     if (!isset($this->arr_Categori['grandparent_id_to_name'][$r['news_category']['parent_id']])) {
                         $r['news_category']['parent'] = isset($this->arr_Categori['child_id_to_parent'][$r['news_category']['parent_id']]) ? $this->arr_Categori['child_id_to_parent'][$r['news_category']['parent_id']] : '';
                         $r['news_category']['parent_id'] = isset($this->arr_Categori['name_to_id'][$r['news_category']['parent']]) ? $this->arr_Categori['name_to_id'][$r['news_category']['parent']] : '';
                         $r['news_category']['parent_url'] = isset($this->arr_Categori['id_to_url'][$r['news_category']['parent_id']]) ? $this->arr_Categori['id_to_url'][$r['news_category']['parent_id']] : '';
                     }
                 } else {
                     $r['news_category']['parent'] = $r['news_category']['name'];
                     $r['news_category']['parent_id'] = $cat;
                 }
             }
             $data = $r;
         }
     }
     $filename = $this->config['json_dir'] . 'photonews/' . $data['news_category']['parent_url'] . '/' . $data['news_url'] . '.json';
     $filename_outbox = $this->config['json_dir_out'] . 'photonews/' . $data['news_category']['parent_url'] . '/' . $data['news_url'] . '.json';
     $json = create_json($data, $filename);
     $json = create_json($data, $filename_outbox);
 }
Example #5
0
 private function _create_json_menu()
 {
     $row = $this->menu_model->dt_listData();
     $data = array();
     foreach ($row as $rs) {
         $data[$rs['menu_url']] = array("parent_id" => $rs['menu_parent'], "sub_id" => $rs['menu_id'], "menu_caption" => $rs['menu_caption'], "menu_lead" => $rs['menu_lead'], "ctrl" => '');
     }
     $file_json = $this->config['json_dir'] . 'method_by_url.json';
     $json = create_json($data, $file_json);
 }
Example #6
0
<?php

require_once "main.php";
//получаем список таблиц из БД для выпадающего меню
$tables = get_tables($conn);
if ($_POST) {
    $name = $_POST['tables'];
    $format = $_POST['formats'];
    $m_format = strtolower($format);
    if (in_array($name, $tables)) {
        switch ($format) {
            case "CSV":
                create_csv($name, $conn);
                break;
            case "JSON":
                create_json($name, $conn);
                break;
            case "XML":
                create_xml($name, $conn);
                break;
            default:
                echo "<h3>Выберите формат файла!</h3>";
                break;
        }
        //проверяем существование файла
        $file = DIR . $m_format . "/" . $name . "." . $m_format;
        if (file_exists($file)) {
            download_file($file);
        }
    } else {
        echo "<h3>Выберите таблицу из списка!</h3>";
Example #7
0
    function create_file($svg, $img_path, $json_data)
    {
        $json_source = create_json($json_data[0], $json_data[1], $json_data[2],
            $json_data[3], $json_data[4], $json_data[5], $json_data[6]);

        if (!$json_source)
            return -3;

        if ($json_data[0]['shareit'] == 'on')
        {
            $shareit = '-1';
            $filename['txt'] = $img_path.$shareit.'.txt';

            $fp = fopen($filename['txt'], 'w');
            if (!$fp) return -1;

            $w = fwrite($fp, $json_source);
            if (!$w) {
                fclose($fp);
                return -2;
            }

            fclose($fp);
        } else {
            $shareit = '-0';
        }

        $filename = array();
        $filename['svg'] = $img_path.$shareit.'.svg';
        $filename['png'] = $img_path.$shareit.'.png';
        $filename['bpng'] = $img_path.'_big'.$shareit.'.png';

        $fp = fopen($filename['svg'], 'w');
        if (!$fp)
            return -1;

        $w = fwrite($fp, $svg);
        if (!$w) {
            fclose($fp);
            return -2;
        }

        fclose($fp);


        /* Usage of Image Imagick PHP interface
        $img = new Imagick($filename['svg']);
        $img->writeImage($filename['png']);
        $s = $img->getSize();
        $img->scaleImage($s[0], $s[1]);
        $img->writeImage($filename['bpng']);
        $img->clear();
        $img->destroy();
        */

        // PNG1 aus SVG erzeugen
        exec('convert '.$location_creation.$filename['svg'].' '.$location_creation.$filename['png']);
        // PNG2 aus SVG erzeugen
        exec('convert -scale 300% '.$location_creation.$filename['svg'].' '.$location_creation.$filename['bpng']);

        foreach ($filename as $short => $f)
        {
            if (!file_exists($f))
                $filename[$short] = false;
        }
        if (!$filename)
            $filename = array();

        return $filename;
    }