同様のモジュールとは異なり、Sypex DumperはバックアップとMySQLリカバリ専用のスクリプトです。 そして、数ギガバイトのデータベースでも問題なく動作します。 ただし、ダンパーは独立したアプリケーションとして機能するという事実に加えて、ダンパーをサードパーティのソフトウェアに埋め込む機能を提供しました。
この記事では、Sypex DumperをCMSの管理パネル(フォーラム、ブログなど)にすばやく簡単に統合する方法を説明します。 また、そのような統合の文書化されていない機能も検討してください。
エントリー
ダンパーを埋め込むには、次のスキームをお勧めします。
- ダンパーがロードされるiframeが配置されるページを管理ページで作成します。
- 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。