Skip to content

Instantly share code, notes, and snippets.

@aydos
Last active March 9, 2016 17:49
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save aydos/c8d26f6d3117992fa825 to your computer and use it in GitHub Desktop.
Save aydos/c8d26f6d3117992fa825 to your computer and use it in GitHub Desktop.
A straightforward php script to convert drupal 7 nodes to hugo markdown files.
<?php
// This script is site specific
// You need refactor almost every line :)
$conn = mysqli_connect("localhost", "user", "pass", "aydosnet");
if (!$conn) {
die("Connection failed...");
}
mysqli_set_charset($conn, 'utf8mb4');
function rmdir_recursive($dir) {
foreach(scandir($dir) as $file) {
if ('.' === $file || '..' === $file) continue;
if (is_dir("$dir/$file")) rmdir_recursive("$dir/$file");
else unlink("$dir/$file");
}
rmdir($dir);
}
// empty the content folder
if (is_dir('content')) {
rmdir_recursive('content');
}
if (is_dir('data')) {
rmdir_recursive('data');
}
mkdir('content');
mkdir('content/siir');
mkdir('content/kitap');
mkdir('content/dil');
mkdir('content/ceviri');
mkdir('content/cevirmen');
mkdir('content/sayfa');
mkdir('content/gunluk');
mkdir('data');
mkdir('data/resim');
date_default_timezone_set("Europe/Istanbul");
// all node without revision check
$sql1 = "SELECT n.nid, n.type, n.title, n.created, n.status, fb.body_value body, a.alias FROM node n LEFT JOIN field_data_body fb ON n.nid = fb.entity_id LEFT JOIN url_alias a ON a.source = CONCAT('node/', nid) ORDER BY nid";
$qry1 = mysqli_query($conn, $sql1);
if (mysqli_num_rows($qry1) > 0) {
while($row = mysqli_fetch_assoc($qry1)) {
$nid = $row["nid"];
$type = $row["type"];
$title = $row["title"];
$body = $row["body"];
$date = date("Y-m-d", $row["created"]);
$status = $row["status"];
$pos = strrpos($row["alias"], "/");
if ($pos === false) {
$url = $row["alias"];
} else {
$url = substr($row["alias"], $pos+1);
}
//echo $type . "," . $nid . "," . $title . "," . $url . PHP_EOL;
//echo $body . PHP_EOL;
//==============================================================================================================
if ($type == "siir") {
$tarih = "";
$durum = "";
$aciklama = "";
$kitap = "";
$sql2 = "SELECT field_tarih_value FROM field_data_field_tarih WHERE entity_id = $nid";
$qry2 = mysqli_query($conn, $sql2);
if (mysqli_num_rows($qry2) > 0) {
$row = mysqli_fetch_assoc($qry2);
$tarih = substr($row["field_tarih_value"], 0, 10);
}
$sql2 = "SELECT field_durum_value FROM field_data_field_durum WHERE entity_id = $nid";
$qry2 = mysqli_query($conn, $sql2);
if (mysqli_num_rows($qry2) > 0) {
$row = mysqli_fetch_assoc($qry2);
$durum = $row["field_durum_value"];
}
$sql2 = "SELECT field_aciklama_value FROM field_data_field_aciklama WHERE entity_id = $nid";
$qry2 = mysqli_query($conn, $sql2);
if (mysqli_num_rows($qry2) > 0) {
$row = mysqli_fetch_assoc($qry2);
$aciklama = $row["field_aciklama_value"];
}
$sql2 = "SELECT k.field_kitap_nid, n.title FROM node n, field_data_field_kitap k WHERE entity_id = $nid AND k.field_kitap_nid = n.nid";
$qry2 = mysqli_query($conn, $sql2);
if (mysqli_num_rows($qry2) > 0) {
$row = mysqli_fetch_assoc($qry2);
$kitap = $row["title"];
}
// md file for siir
$file = fopen("content/siir/" . $url . ".md", "w");
fwrite($file, '---' . PHP_EOL);
fwrite($file, 'title: "' . $title . '"' . PHP_EOL);
fwrite($file, 'type: "siir"' . PHP_EOL);
fwrite($file, 'tarih: ' . $tarih . PHP_EOL);
fwrite($file, 'durum: ' . $durum . PHP_EOL);
if (!(($durum == 1)||($durum == 2))) {
fwrite($file, 'draft: true' . PHP_EOL);
}
fwrite($file, 'kitap: "' . $kitap . '"' . PHP_EOL);
if ($aciklama != "") {
fwrite($file, 'aciklama: "' . $aciklama . '"' . PHP_EOL);
}
$sql2 = "SELECT field_basimlar_value FROM field_data_field_basimlar WHERE entity_id = $nid";
$qry2 = mysqli_query($conn, $sql2);
if (mysqli_num_rows($qry2) > 0) {
while($row = mysqli_fetch_assoc($qry2)) {
$bid = $row["field_basimlar_value"];
$kitap = "";
$isim = "";
$sayfa = "";
$kitapurl = $bid; // will be changed
$sql3 = "SELECT b.field_basim_nid, n.title FROM field_data_field_basim b, node n WHERE entity_id = $bid AND b.field_basim_nid = n.nid";
$qry3 = mysqli_query($conn, $sql3);
if (mysqli_num_rows($qry3) > 0) {
$row = mysqli_fetch_assoc($qry3);
$kitap = $row["title"];
$kid = $row["field_basim_nid"];
$sql4 = "SELECT a.alias FROM node n, url_alias a WHERE n.nid = $kid AND a.source = CONCAT('node/', n.nid)";
//echo $sql4;
$qry4 = mysqli_query($conn, $sql4);
if (mysqli_num_rows($qry4) > 0) {
$row = mysqli_fetch_assoc($qry4);
$pos = strrpos($row["alias"], "/");
if ($pos === false) {
$kitapurl = $row["alias"];
} else {
$kitapurl = substr($row["alias"], 0, $pos);
}
}
}
$sql3 = "SELECT field_basimisim_value FROM field_data_field_basimisim WHERE entity_id = $bid";
$qry3 = mysqli_query($conn, $sql3);
if (mysqli_num_rows($qry3) > 0) {
$row = mysqli_fetch_assoc($qry3);
$isim = $row["field_basimisim_value"];
}
$sql3 = "SELECT field_basimmetin_value FROM field_data_field_basimmetin WHERE entity_id = $bid";
$qry3 = mysqli_query($conn, $sql3);
if (mysqli_num_rows($qry3) > 0) {
$row = mysqli_fetch_assoc($qry3);
$metin = $row["field_basimmetin_value"];
}
$sql3 = "SELECT field_basimsayfa_value FROM field_data_field_basimsayfa WHERE entity_id = $bid";
$qry3 = mysqli_query($conn, $sql3);
if (mysqli_num_rows($qry3) > 0) {
$row = mysqli_fetch_assoc($qry3);
$sayfa = $row["field_basimsayfa_value"];
}
// file for basim
if (!is_dir("content/" . $kitapurl)) {
mkdir("content/" . $kitapurl);
}
if (!is_dir("content/" . $kitapurl . "/basim-1")) {
mkdir("content/" . $kitapurl . "/basim-1");
}
$fileb = fopen("content/" . $kitapurl . "/basim-1/" . $url . ".md", "w");
fwrite($fileb, '---' . PHP_EOL);
fwrite($fileb, 'kitap: "' . $kitap . '"' . PHP_EOL);
fwrite($fileb, 'isim: "' . $isim . '"' . PHP_EOL);
fwrite($fileb, 'siir: "' . $title . '"' . PHP_EOL);
fwrite($fileb, 'sayfa: ' . $sayfa . PHP_EOL);
fwrite($fileb, 'draft: true' . PHP_EOL);
fwrite($fileb, '---' . PHP_EOL);
fwrite($fileb, $metin . PHP_EOL);
fclose($fileb);
}
}
$sql2 = "SELECT field_resimler_value FROM field_data_field_resimler WHERE entity_id = $nid";
$qry2 = mysqli_query($conn, $sql2);
if (mysqli_num_rows($qry2) > 0) {
fwrite($file, 'resim: true' . PHP_EOL);
$row = mysqli_fetch_assoc($qry2);
$rid = $row["field_resimler_value"];
$sanatci = "";
$copy = "";
$link = "";
$sql3 = "SELECT field_sanatci_value FROM field_data_field_sanatci WHERE entity_id = $rid";
$qry3 = mysqli_query($conn, $sql3);
if (mysqli_num_rows($qry3) > 0) {
$row = mysqli_fetch_assoc($qry3);
$sanatci = $row["field_sanatci_value"];
}
$sql3 = "SELECT field_copyright_value FROM field_data_field_copyright WHERE entity_id = $rid";
$qry3 = mysqli_query($conn, $sql3);
if (mysqli_num_rows($qry3) > 0) {
$row = mysqli_fetch_assoc($qry3);
$copy = $row["field_copyright_value"];
}
$sql3 = "SELECT field_link_value FROM field_data_field_link WHERE entity_id = $rid";
$qry3 = mysqli_query($conn, $sql3);
if (mysqli_num_rows($qry3) > 0) {
$row = mysqli_fetch_assoc($qry3);
$link = $row["field_link_value"];
}
// file for resim
$filer = fopen("data/resim/" . $url . ".yaml", "w");
fwrite($filer, 'copyright: "' . $copy . '"' . PHP_EOL);
fwrite($filer, 'sanatci: "' . $sanatci . '"' . PHP_EOL);
fwrite($filer, 'link: "' . $link . '"' . PHP_EOL);
fclose($filer);
}
// file for siir continue
fwrite($file, 'date: ' . $date . PHP_EOL);
fwrite($file, '---' . PHP_EOL);
fwrite($file, $body);
fclose($file);
}
//==============================================================================================================
if ($type == "kitap") {
if ($status == 0)
continue;
$file = fopen("content/kitap/" . $url . ".md", "w");
fwrite($file, '---' . PHP_EOL);
fwrite($file, 'title: "' . $title . '"' . PHP_EOL);
fwrite($file, 'type: "kitap"' . PHP_EOL);
fwrite($file, 'date: ' . $date . PHP_EOL);
fwrite($file, '---' . PHP_EOL);
fwrite($file, $body);
fclose($file);
}
//==============================================================================================================
if ($type == "basim") {
$kitap = "";
$kitapurl = "";
$basimno = "";
$isbn = "";
$basimyeri = "";
$tarih = "";
$basimadet = "";
$sql2 = "SELECT k.field_kitap_nid kid, n.title, a.alias FROM field_data_field_kitap k, node n, url_alias a WHERE k.entity_id = $nid AND k.field_kitap_nid = n.nid AND a.source = CONCAT('node/', n.nid)";
$qry2 = mysqli_query($conn, $sql2);
if (mysqli_num_rows($qry2) > 0) {
$row = mysqli_fetch_assoc($qry2);
$kitap = $row["title"];
$pos = strrpos($row["alias"], "/");
if ($pos === false) {
$kitapurl = $row["alias"];
} else {
$kitapurl = substr($row["alias"], $pos+1);
}
}
$sql2 = "SELECT field_basimno_value FROM field_data_field_basimno WHERE entity_id = $nid";
$qry2 = mysqli_query($conn, $sql2);
if (mysqli_num_rows($qry2) > 0) {
$row = mysqli_fetch_assoc($qry2);
$basimno = $row["field_basimno_value"];
}
$sql2 = "SELECT field_isbn_value FROM field_data_field_isbn WHERE entity_id = $nid";
$qry2 = mysqli_query($conn, $sql2);
if (mysqli_num_rows($qry2) > 0) {
$row = mysqli_fetch_assoc($qry2);
$isbn = $row["field_isbn_value"];
}
$sql2 = "SELECT field_basimyeri_value FROM field_data_field_basimyeri WHERE entity_id = $nid";
$qry2 = mysqli_query($conn, $sql2);
if (mysqli_num_rows($qry2) > 0) {
$row = mysqli_fetch_assoc($qry2);
$basimyeri = $row["field_basimyeri_value"];
}
$sql2 = "SELECT field_tarih_value FROM field_data_field_tarih WHERE entity_id = $nid";
$qry2 = mysqli_query($conn, $sql2);
if (mysqli_num_rows($qry2) > 0) {
$row = mysqli_fetch_assoc($qry2);
$tarih = substr($row["field_tarih_value"], 0, 10);
}
$sql2 = "SELECT field_basimadet_value FROM field_data_field_basimadet WHERE entity_id = $nid";
$qry2 = mysqli_query($conn, $sql2);
if (mysqli_num_rows($qry2) > 0) {
$row = mysqli_fetch_assoc($qry2);
$basimadet = $row["field_basimadet_value"];
}
if (!is_dir("content/kitap/" . $kitapurl)) {
mkdir("content/kitap/" . $kitapurl);
}
$file = fopen("content/kitap/" . $kitapurl . "/basim-" . $basimno . ".md", "w");
fwrite($file, '---' . PHP_EOL);
fwrite($file, 'title: "' . $title . '"' . PHP_EOL);
fwrite($file, 'type: "basim"' . PHP_EOL);
fwrite($file, 'isbn: "' . $isbn . '"' . PHP_EOL);
fwrite($file, 'basimno: ' . $basimno . PHP_EOL);
fwrite($file, 'basimyeri: "' . $basimyeri . '"' . PHP_EOL);
fwrite($file, 'tarih: ' . $tarih . PHP_EOL);
fwrite($file, 'adet: ' . $basimadet . PHP_EOL);
fwrite($file, 'date: ' . $date . PHP_EOL);
fwrite($file, '---' . PHP_EOL);
fwrite($file, $body);
fclose($file);
}
//==============================================================================================================
if ($type == "dil") {
$ori = "";
$short = "";
$sql2 = "SELECT field_lang_ori_value FROM field_data_field_lang_ori WHERE entity_id = $nid";
$qry2 = mysqli_query($conn, $sql2);
if (mysqli_num_rows($qry2) > 0) {
$row = mysqli_fetch_assoc($qry2);
$ori = $row["field_lang_ori_value"];
}
$sql2 = "SELECT field_lang_short_value FROM field_data_field_lang_short WHERE entity_id = $nid";
$qry2 = mysqli_query($conn, $sql2);
if (mysqli_num_rows($qry2) > 0) {
$row = mysqli_fetch_assoc($qry2);
$short = $row["field_lang_short_value"];
}
$file = fopen("content/dil/" . $url . ".md", "w");
fwrite($file, '---' . PHP_EOL);
fwrite($file, 'title: "' . $title . '"' . PHP_EOL);
fwrite($file, 'type: "dil"' . PHP_EOL);
fwrite($file, 'ori: "' . $ori . '"' . PHP_EOL);
fwrite($file, 'short: "' . $short . '"' . PHP_EOL);
fwrite($file, 'url: "' . $url . '"' . PHP_EOL);
fwrite($file, 'date: ' . $date . PHP_EOL);
fwrite($file, '---' . PHP_EOL);
fwrite($file, $body);
fclose($file);
}
//==============================================================================================================
if ($type == "cevirmen") {
$file = fopen("content/cevirmen/" . $url . ".md", "w");
fwrite($file, '---' . PHP_EOL);
fwrite($file, 'title: "' . $title . '"' . PHP_EOL);
fwrite($file, 'type: "cevirmen"' . PHP_EOL);
fwrite($file, 'date: ' . $date . PHP_EOL);
fwrite($file, '---' . PHP_EOL);
fwrite($file, $body);
fclose($file);
}
//==============================================================================================================
if ($type == "ceviri") {
$siir = "";
$dil = "";
$dilurl = "";
$cevirmen = "";
$tarih = "";
$sql2 = "SELECT s.field_siir_nid sid, n.title FROM field_data_field_siir s, node n WHERE entity_id = $nid AND s.field_siir_nid = n.nid";
$qry2 = mysqli_query($conn, $sql2);
if (mysqli_num_rows($qry2) > 0) {
$row = mysqli_fetch_assoc($qry2);
$siir = $row["title"];
}
$sql2 = "SELECT d.field_dil_nid did, n.title, a.alias FROM field_data_field_dil d, node n, url_alias a WHERE entity_id = $nid AND d.field_dil_nid = n.nid AND a.source = CONCAT('node/', n.nid)";
$qry2 = mysqli_query($conn, $sql2);
if (mysqli_num_rows($qry2) > 0) {
$row = mysqli_fetch_assoc($qry2);
$dil = $row["title"];
$pos = strrpos($row["alias"], "/");
if ($pos === false) {
$dilurl = $row["alias"];
} else {
$dilurl = substr($row["alias"], $pos+1);
}
}
$sql2 = "SELECT c.field_cevirmen_nid cid, n.title FROM field_data_field_cevirmen c, node n WHERE entity_id = $nid AND c.field_cevirmen_nid = n.nid";
$qry2 = mysqli_query($conn, $sql2);
if (mysqli_num_rows($qry2) > 0) {
$row = mysqli_fetch_assoc($qry2);
$cevirmen = $row["title"];
}
$sql2 = "SELECT field_tarih_value FROM field_data_field_tarih WHERE entity_id = $nid";
$qry2 = mysqli_query($conn, $sql2);
if (mysqli_num_rows($qry2) > 0) {
$row = mysqli_fetch_assoc($qry2);
$tarih = substr($row["field_tarih_value"], 0 , 10);
}
// md file for ceviri
if (!is_dir("content/ceviri/" . $dilurl)) {
mkdir("content/ceviri/" . $dilurl);
}
$file = fopen("content/ceviri/" . $dilurl. "/" . $url . ".md", "w");
fwrite($file, '---' . PHP_EOL);
fwrite($file, 'title: "' . $title . '"' . PHP_EOL);
fwrite($file, 'type: "ceviri"' . PHP_EOL);
fwrite($file, 'siir: "' . $siir . '"' . PHP_EOL);
fwrite($file, 'dil: "' . $dil . '"' . PHP_EOL);
fwrite($file, 'cevirmen: "' . $cevirmen . '"' . PHP_EOL);
$sql2 = "SELECT field_resimler_value FROM field_data_field_resimler WHERE entity_id = $nid";
$qry2 = mysqli_query($conn, $sql2);
if (mysqli_num_rows($qry2) > 0) {
fwrite($file, 'resim: true' . PHP_EOL);
// do nothing
/*$row = mysqli_fetch_assoc($qry2);
$rid = $row["field_resimler_value"];
$sql3 = "SELECT field_sanatci_value FROM field_data_field_sanatci WHERE entity_id = $rid";
$qry3 = mysqli_query($conn, $sql3);
if (mysqli_num_rows($qry3) > 0) {
$row = mysqli_fetch_assoc($qry3);
$sanatci = $row["field_sanatci_value"];
}
$sql3 = "SELECT field_copyright_value FROM field_data_field_copyright WHERE entity_id = $rid";
$qry3 = mysqli_query($conn, $sql3);
if (mysqli_num_rows($qry3) > 0) {
$row = mysqli_fetch_assoc($qry3);
$copy = $row["field_copyright_value"];
}
$sql3 = "SELECT field_link_value FROM field_data_field_link WHERE entity_id = $rid";
$qry3 = mysqli_query($conn, $sql3);
if (mysqli_num_rows($qry3) > 0) {
$row = mysqli_fetch_assoc($qry3);
$link = $row["field_link_value"];
}*/
}
fwrite($file, 'url: "' . $dilurl . '/' . $url . '"' . PHP_EOL);
fwrite($file, 'date: ' . $date . PHP_EOL);
fwrite($file, '---' . PHP_EOL);
fwrite($file, $body);
fclose($file);
}
//==============================================================================================================
if ($type == "page") {
$file = fopen("content/sayfa/" . $url . ".md", "w");
fwrite($file, '---' . PHP_EOL);
fwrite($file, 'title: "' . $title . '"' . PHP_EOL);
fwrite($file, 'type: "sayfa"' . PHP_EOL);
fwrite($file, 'date: ' . $date . PHP_EOL);
fwrite($file, 'draft: true' . PHP_EOL);
fwrite($file, '---' . PHP_EOL);
fwrite($file, $body);
fclose($file);
}
//==============================================================================================================
if ($type == "gunluk") {
$file = fopen("content/gunluk/" . $url . ".md", "w");
fwrite($file, '---' . PHP_EOL);
fwrite($file, 'title: "' . $title . '"' . PHP_EOL);
fwrite($file, 'type: "gunluk"' . PHP_EOL);
fwrite($file, 'date: ' . $date . PHP_EOL);
fwrite($file, 'draft: true' . PHP_EOL);
fwrite($file, '---' . PHP_EOL);
fwrite($file, $body);
fclose($file);
}
//==============================================================================================================
if ($type == "hikmet") {
// do nothing!
/*$kaynak = "";
$sql2 = "SELECT field_kaynak_value FROM field_data_field_kaynak WHERE entity_id = $nid";
$qry2 = mysqli_query($conn, $sql2);
if (mysqli_num_rows($qry2) > 0) {
$row = mysqli_fetch_assoc($qry2);
$kaynak = $row["field_kaynak_value"];
}*/
}
}
}
mysqli_close($conn);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment