Typecho 模板设置数据备份与恢复

typecho教程 2020-08-25

  Typecho模板设置数据会在你换模板的时候被清空,这样的设置其实我还是蛮喜欢的,不会有数据残留。

  但是有些朋友可能会希望保留数据,这样下次在切换回来之后数据就保留了。

  在themeConfig($form)函数里添加

  $db = Typecho_Db::get();

  $sjdq=$db->fetchRow($db->select()->from (‘table.options’)->where (‘name = ?’, ‘theme:Yodu’));

  $ysj = $sjdq[‘value’];

  if(isset($_POST[‘type’]))

  {

  if($_POST[“type”]==”备份模板数据”){

  if($db->fetchRow($db->select()->from (‘table.options’)->where (‘name = ?’, ‘theme:Yodubf’))){

  $update = $db->update(‘table.options’)->rows(array(‘value’=>$ysj))->where(‘name = ?’, ‘theme:Yodubf’);

  $updateRows= $db->query($update);

  echo ‘

备份已更新,请等待自动刷新!如果等不到请点击’;

  ?>

  adminUrl(‘options-theme.php’); ?>”>这里

  

  

  }else{

  if($ysj){

  $insert = $db->insert(‘table.options’)

  ->rows(array(‘name’ => ‘theme:Yodubf’,’user’ => ‘0’,’value’ => $ysj));

  $insertId = $db->query($insert);

  echo ‘

备份完成,请等待自动刷新!如果等不到请点击’;

  ?>

  adminUrl(‘options-theme.php’); ?>”>这里

  

  

  }

  }

  }

  if($_POST[“type”]==”还原模板数据”){

  if($db->fetchRow($db->select()->from (‘table.options’)->where (‘name = ?’, ‘theme:Yodubf’))){

  $sjdub=$db->fetchRow($db->select()->from (‘table.options’)->where (‘name = ?’, ‘theme:Yodubf’));

  $bsj = $sjdub[‘value’];

  $update = $db->update(‘table.options’)->rows(array(‘value’=>$bsj))->where(‘name = ?’, ‘theme:Yodu’);

  $updateRows= $db->query($update);

  echo ‘

检测到模板备份数据,恢复完成,请等待自动刷新!如果等不到请点击’;

  ?>

  adminUrl(‘options-theme.php’); ?>”>这里

  

  

  }else{

  echo ‘

没有模板备份数据,恢复不了哦!

‘;

  }

  }

  if($_POST[“type”]==”删除备份数据”){

  if($db->fetchRow($db->select()->from (‘table.options’)->where (‘name = ?’, ‘theme:Yodubf’))){

  $delete = $db->delete(‘table.options’)->where (‘name = ?’, ‘theme:Yodubf’);

  $deletedRows = $db->query($delete);

  echo ‘

删除成功,请等待自动刷新,如果等不到请点击’;

  ?>

  adminUrl(‘options-theme.php’); ?>”>这里

  

  

  }else{

  echo ‘

不用删了!备份不存在!!!

‘;

  }

  }

  }

  echo ‘高级操作:

  ‘;

评论 (0)
    Top