管理パネルにSypex Dumperを埋め込む

多くの一般的なCMSは、オープンソースと商用の両方で、バックアップモジュールを組み込んでいます。 しかし、問題は、ほとんどの場合、これらのモジュールは残差の原則に従って作成され、非常に原始的であり、ダンプ作成の微妙さの多くを考慮していないことです。 また、ほとんどの場合、これらのモジュールは些細なものであり、誰もが大容量のテストを行っていません(テスト用の空のデータベースで実行し、満足しています)。



同様のモジュールとは異なり、Sypex DumperはバックアップとMySQLリカバリ専用のスクリプトです。 そして、数ギガバイトのデータベースでも問題なく動作します。 ただし、ダンパーは独立したアプリケーションとして機能するという事実に加えて、ダンパーをサードパーティのソフトウェアに埋め込む機能を提供しました。



この記事では、Sypex DumperをCMSの管理パネル(フォーラム、ブログなど)にすばやく簡単に統合する方法を説明します。 また、そのような統合の文書化されていない機能も検討してください。



エントリー



ダンパーを埋め込むには、次のスキームをお勧めします。



このスキームには、システムへのincludeを使用したバックアップモジュールの通常の接続と比較して、次の利点があります。



認証ファイル



認証ファイルは小さなスクリプトであり、その唯一のタスクは、ユーザーがダンパーへのアクセス権を持っていることを確認することです。 ダンパーは、いわゆる認証チェーンを使用します。 どの認証ファイルをどの順序で使用するかを示します。 ImageCMSで最近作成した統合を例として使用して、認証ファイルを分析しましょう。



ファイル名は、接頭辞「auth_」、承認の名前(英語の文字、数字、アンダースコアで構成される)、および拡張子「php」で構成されます。



認証ファイルには一連の指示が含まれている必要があります。これは、ユーザー認証が肯定的な場合、 $ auth変数の値をtrue (または1 )に設定する必要があります。 また、認証ファイルでは、構成ファイルのプロパティを変更できます(将来、それらは仮想構成に分類されます)。 $ this-> CFG配列を介して構成ファイルのプロパティにアクセスします。



<?php // Sypex Dumper 2 authorization file for ImageCMS 3 session_start(); if(!empty($_SESSION['DX_permission']['backup_create'])){ define('BASEPATH', 1); include '../application/config/config.php'; if($this->connect($db['default']['hostname'], '', $db['default']['username'], $db['default']['password'])){ $this->CFG['my_db'] = $db['default']['database']; $this->CFG['exitURL'] = '../admin/logout'; $auth = 1; } } ?>
      
      





ImageCMSは認証に標準セッションを使用するため、スクリプトの冒頭でセッションを作成し、ユーザーデータを取得します。 このCMSのアクセス権を確認するために、ネイティブプロパティ'backup_create'を使用します(trueの場合)。ユーザーはダンパーを使用できます。



次に、CMS構成ファイルを接続して、そこからMySQLに接続するためのデータを取得します。 そして、 $ this-> connect()の助けを借りてMySQLに接続し、成功した場合、ダンパー内のアクセス先のデータベースを覚えて、 「exitURL」 -終了ボタンが押されたときにダンパーが移動するアドレスを構成します。 最も重要なことは、 $ auth 1を割り当てることです。これは、認証が成功したことを示します。

その後、認証ファイルの名前を認証チェーンに追加する必要があります。 これは、ダンパーインターフェイスの[オプション]-> [認証チェーン]で、またはcfg.phpの行で実行できます。



 'auth' => 'mysql cfg',
      
      





現在、CMSにログインしていて、バックアップを作成する権限がある場合、ダンパーに入るために追加の許可は必要ありません。



インターフェース統合



CMS管理パネルにダンパーを埋め込むだけです。 目的の管理ページに行を挿入する必要がある理由:



 <iframe src="/sxd/" width="586" height="462" frameborder="0" style="margin:0;"></iframe>
      
      





srcのダンパーアドレス(相対または完全)を置き換えます。



文書化されていない機能



インターフェースはSypex DumperのJSで完全に動作するため、ボタンを使用するか自動的にCMSからダンパー機能を簡単に実行できます。



たとえば、バックアップを作成するには、コマンドを実行する必要があります(以前はiframeにid = sxdframeを追加しました)。



 sxdframe.sxd.runBackup();
      
      





または、このオプション:



 //    sxdframe.sxd.actions.tab_restore(); //   test1 sxdframe.sxd.combos.restore_db.select('test1'); //   sxdframe.sxd.combos.restore_file.select('test1_2012-11-17_10-02-34.sql.gz'); //   sxdframe.sxd.runRestore();
      
      







ダンパーの第3バージョンの準備に関連して、私はそのようなJS APIがどれだけ需要があるかに興味があります。 また、ダンパーに追加する他のものについての要望も受け入れられます。 もちろん、統合に問題がある場合は、安全に質問することができます。



ドキュメントでは、 さらにいくつかのSypex Dumper認証ファイルを解析します

さらに、次の一般的なシステムの既製の統合ファイルダウンロードできます: Drupal、ImageCMS、IPBoard、Joomla、MODx、phpBB、PHP-Fusion、vBulletin、WordPress、XenForo。



All Articles