SKINIMPORTクラスはスキン読み込み機能を実現するためのクラスです。Nucleus 3.24現在、このクラスはSKINEXPORTクラスとともにnucleus/libs/skinie.phpで定義されています。
間違い、補足など、お気付きの点がありましたら、積極的に編集してください。プラグイン作りに必要な情報を、Wikiに集結できたら良いなと思っています。
ここにないメソッドはXMLのパースに使用するもので外からコールすることはないと思います。
void SKINIMPORT::reset()
オブジェクトが保持しているデータをリセットします。
このメソッドはコンストラクタ中で呼ばれます。
このメソッドはスタティックにコールすることはできません。
void SKINIMPORT::readFile(string filename [, int metaonly])
指定したxmlファイルを読み込んで、情報を保持します。
引数metaonlyを1にすることでメタ情報のみを読み込み、メタ情報がすでに読み込まれている場合は読み込みを行いません。0ならば全ての情報を読み込みます。省略時は0です。metaonlyを1にした状態で再読み込みを行うにはresetメソッドで保持している情報をクリアする必要があります。
メタ情報には、書き出されたスキン・テンプレートの名前と、書き出し時に記入された追加情報が含まれます。
このメソッドはスタティックにコールすることはできません。
array SKINIMPORT::getSkinNames()
保持しているスキン名情報全てが入った配列を返します。
先にreadFileメソッドでxmlファイルを読み込んでおく必要があります。
このメソッドは、スタティックにコールすることはできません。
array SKINIMPORT::getTemplateNames()
保持しているテンプレート名情報全てが入った配列を返します。
先にreadFileメソッドでxmlファイルを読み込んでおく必要があります。
このメソッドは、スタティックにコールすることはできません。
string SKINIMPORT::getInfo()
書き出し時に追加された追加情報を返します。
先にreadFileメソッドでxmlファイルを読み込んでおく必要があります。
このメソッドは、スタティックにコールすることはできません。
void SKINIMPORT::writeToDatabase([int $allowOverwrite])
readFileメソッドで読みこまれた情報をデータベースに保存します。
引数allowOverwriteが1の場合は同名のスキン/テンプレートがあった場合でも上書きされます。0ならば上書きは行われません。省略時は0です。
先にreadFileメソッドでxmlファイルを読み込んでおく必要があります。
このメソッドは、スタティックにコールすることはできません。
array SKINIMPORT::checkSkinNameClashes()
すでに存在するスキンの名前をチェックし、読み込まれたxmlファイルで定義されたスキンの名前のうち、衝突するものを配列にして返します。
衝突が発生しない場合は空の配列が返されます。
先にreadFileメソッドでxmlファイルを読み込んでおく必要があります。
このメソッドは、スタティックにコールすることはできません。
array SKINIMPORT::checkTemplateNameClashes()
すでに存在するテンプレートの名前をチェックし、読み込まれたxmlファイルで定義されたテンプレートの名前のうち、衝突するものを配列にして返します。
衝突が発生しない場合は空の配列が返されます。
先にreadFileメソッドでxmlファイルを読み込んでおく必要があります。
このメソッドは、スタティックにコールすることはできません。
array SKINIMPORT::searchForCadidates( string dir )
引数で渡されたディレクトリの直下にあり、ファイルskinimport.xmlもしくはskindata.xmlを含むディレクトリのリストを返します。
返り値は配列で、スキン名をキーに持ち、ディレクトリ名を値とする要素で構成されていますが、実際には両方ともディレクトリ名です。
このメソッドはスタティックにコールするためのメソッドです。