• カテゴリ XCL開発資料 の最新配信
  • RSS
  • RDF
  • ATOM

ブログ - XCL開発資料カテゴリのエントリ

XC コントローラの差し替え

カテゴリ : 
開発用メモ » XCL開発資料
執筆 : 
masa 2008/8/10
settings/site_custom.ini.php または
settings/site_default.ini.php


[Cube]
Controller=XXXX_Controller



[XXXX_Controller]
root=
path=
class=

root= には XOOPS_ROOT_PATH などの定数が指定できる
path= root 以降のパス
class=クラス名
  • トラックバック (0)
  • 閲覧 (3305)

Cube モジュール解析

カテゴリ : 
開発用メモ » XCL開発資料
執筆 : 
masa 2008/8/7
■XoopsModule (kernel/module.php)
Cube のモジュール情報クラス
xoops_version.php から初期生成され、データベースに格納される?

...続きを読む

  • トラックバック (0)
  • 閲覧 (3924)
include/version.php に書いてある


<?php

define("XOOPS_VERSION", "XOOPS Cube Legacy 2.1.4");

?>
  • トラックバック (0)
  • 閲覧 (3872)

XCL ブロック開発

カテゴリ : 
開発用メモ » XCL開発資料
執筆 : 
masa 2008/7/27
XCL流のブロック開発はクラスを使ったもの?

■従来のブロック定義
xoops_version.phpの定義
(modules/legacy/admin/class/ModuleInstallUtils.class.php参照)

...続きを読む

  • トラックバック (0)
  • 閲覧 (4593)
■従来のインストール&アップデート機能の定義

xoops_version.php に下記を定義する。

$modversion['onInstall'] = 'oninstall.php';
$modversion['onUpdate'] = 'onupdate.php';
$modversion['onUninstall'] = 'onuninstall.php';

...続きを読む

  • トラックバック (0)
  • 閲覧 (4955)

XCL モジュール開発 admin

カテゴリ : 
開発用メモ » XCL開発資料
執筆 : 
masa 2008/7/12
XCL流モジュール開発で管理者メニューを作る場合。


xoops_version.php に
$modversion['hasAdmin'] = 1;
が必要

--------

■クラス定義
class/Module.class.php ファイルの中に
Dirname_Module extends Legacy_ModuleAdapter
(または extends Legacy_AbstractModule ?)
クラスが必要

クラスメソッドとして以下のものを記述
public function getAdminMenu()


■D3 (not class)
adminmenu="admin_menu.php"
$adminmenu4altsys (??)

■D3対応への考察
Legacy_Utils::createModule()ではクラスファイルを
modules/${dirname}/class/Module.class.php としているので、このままでは公開側にproxyファイルを必要とする。
同様にモジュールクラス名も
ucfirst(モジュールディレクトリ名)."_".'class名'
という形なので、複製に対応できない...


Legacy_Utils::createModule() にはデリゲート「Legacy_Utils.CreateModule」が設定されている。
ここでオーバーライドすれば複製対応が可能と思われる。

■altsysメニューへの対応...
  • トラックバック (0)
  • 閲覧 (7010)

XCL DBアクセス

カテゴリ : 
開発用メモ » XCL開発資料
執筆 : 
masa 2008/6/25
■db 取得の仕方
(1) $db = $xoopsDB;
(2) $db = & XoopsDatabaseFactory::getDatabaseConnection();
(3) $db = $root->mController->getDB();

個人的には(3)がいいかなぁ...

■クラス XoopsMySQLDatabase

...続きを読む

  • トラックバック (0)
  • 閲覧 (5172)

xoops_version.php ではまった...

カテゴリ : 
開発用メモ » XCL開発資料
執筆 : 
masa 2008/6/21
D3モジュール関連の調査をしているときに
$mydirname と $mytrustdirname の値が空になることがあった。
xoops_version.php 内に関数を作って
関数内から global 宣言をして $mydirname などにアクセスするのだが、いくら確認しても空なのだ。
まったく理解できずに、設定している場所にも global 宣言を置いてみたら、正しくアクセスできるようになった。

kernel/module.php loadInfo() 内から xoops_version.php はinclude されていた。
確かに、xoops_version.php で定義するものがグローバルになってしまうのは困るから...

やはり、xoops_version.php にはあまり変なことをしないほうがよさそうだ。
  • トラックバック (0)
  • 閲覧 (4469)

D3モジュール開発

カテゴリ : 
開発用メモ » XCL開発資料
執筆 : 
masa 2008/6/17
■必須のグローバル変数
$mytrustdirpath
altsys が使うようだ
  • トラックバック (0)
  • 閲覧 (3640)

XCL User関連 デリゲート

カテゴリ : 
開発用メモ » XCL開発資料
執筆 : 
masa 2008/6/14
Legacypage.UserInfo.Access
ユーザ情報を表示する
User_LegacypageFunctions::userinfo

Legacypage.Edituser.Access
ユーザ情報を編集する
User_LegacypageFunctions::edituser

Legacypage.Register.Access
ユーザ情報を登録する
User_LegacypageFunctions::register

Legacypage.User.Access
???
User_LegacypageFunctions::user

Legacypage.Lostpass.Access
パスワード紛失(?)
User_LegacypageFunctions::lostpass

Site.CheckLogin
Loginチェックをする(?)
User_LegacypageFunctions::checkLogin

Site.CheckLogin.Success
Loginチェック完了(?)
User_LegacypageFunctions::chckLoginSuccess

Site.Logout
Logoutをする(?)
User_LegacypageFunctions::logout

Legacypage.Misc.Access
???
User_LegacypageFunctions::misc

これらは modules/user/preload/Primary/Primary.class.php で定義されている。
User_LegacypageFunctions は modules/user/kernel/LegacypageFunctions.class.php で定義されている

新規登録をデリゲートで差し替えるのは、かなりのコードを記述(というかほとんどコピペしてきて、パス関係を修正)しなければできないと思う...
単純な項目の追加などには、直接修正のほうがどう考えてもメリットがあるのではないだろうか?
  • トラックバック (0)
  • 閲覧 (6022)