ホーム > フォーラム > その他 > pluggはどうなったの?

pluggはどうなったの?
投稿者: lemon-s | 投稿日時: 2010/3/19 12:10 | 閲覧: 7019回
lemon-s

コア的なモジュールになる予定だったのに・・
公式サイトはもうアクセスできないね
タグ:

コメント(5)

新しいものから | 古いものから | ネスト表示 | RSS feed
Re: pluggはどうなったの? 
投稿者: onokazu | 投稿日時: 2010/3/19 13:41
onokazu

ドメイン変更してました^^;

http://pluggcms.org/

開発は飽きずに進めています。内部を更に大幅に変更したのでブログ更新が追いつかずにすいません。

サイトの方もリニューアル予定なので、とりあえず近況報告をこちらにします。

今年に入ってからはDrupalの メニューシステム および フォームAPI と同等機能の開発導入を行っていました。

別にこれらがなくても良かったのですが、後々の導入では各プラグインにも大きな影響が出ると思いましたので。。 Drupalの実装とは若干異なりますが、かなり近いものに仕上がっています。もちろん、コードは一切取ったりしていません。^^;

また、WordPressおよびWordPress MU双方への対応も完了したので、Pluggの各プラグインはWordPress/WordPress MU/XOOPS Cube Legacy/XOOPS本家版/ImpressCMSで動くようになります。XOOPS2.0やJPex対応は時間があればやってみたいと思います。

ライセンスは未定ですが、Pluggのコアは一応LGPLとしているので各プラグインは自由にライセンスを付与することができるはずです。もちろん、各CMSに対応させるための一部プラグインはGPLとしてあります。

いつも同じことを言っているような気がしますが、早ければ今月中には何らかのリリースができればと思っています。

Re: pluggはどうなったの? 
投稿者: SAK-AXYZ | 投稿日時: 2010/3/21 12:20 | 親コメント: #20427
SAK-AXYZ
引用:
XOOPS2.0やJPex対応は時間があればやってみたいと思います。


JPExで動作するバージョンを、本気で期待しております。
Re: pluggはどうなったの? 
投稿者: lemon-s | 投稿日時: 2010/3/21 15:07 | 親コメント: #20427
lemon-s

安心いたしました!!
とりあえず既存モジュールも同時に検索できる検索プラグインが欲しいです。
今後も期待しております。
Re: pluggはどうなったの? 
投稿者: onokazu | 投稿日時: 2010/3/22 14:11 | 親コメント: #20433
onokazu

基本的にはXOOPS本家版への対応と同じ方法でできそうです。また、コアへの要望も
出しやすそうなので対応は難しくないと思っています。

引用:
引用:
XOOPS2.0やJPex対応は時間があればやってみたいと思います。

JPExで動作するバージョンを、本気で期待しております。
Re: pluggはどうなったの? 
投稿者: onokazu | 投稿日時: 2010/3/22 14:16 | 親コメント: #20435
onokazu
引用:
とりあえず既存モジュールも同時に検索できる検索プラグインが欲しいです。


これに関しては各モジュールの開発者さんに対応をお願いするしかなさそうです。

下記の内容のファイルを各モジュールで用意してもらうことになりますが、リリース時には
ML等で呼びかけてみたいと思っています。下記は例えばnewbbモジュールをPluggの
検索プラグインへと対応させるものです。


<?php
class Plugg_XOOPSCube_Module_newbb extends Plugg_XOOPSCube_Module
{
    function searchGetContentUrl($contentId)
    {
        require_once $this->_moduleDocRoot . '/class/class.forumposts.php';
        $post = new ForumPosts($contentId);

        if (!$post->postid()) return false; // post no longer exists

        return sprintf('%1$s/modules/%2$s/viewtopic.php?post_id=%3$d&topic_id=%4$d&forum=%5$d#forumpost%3$d',
            XOOPS_URL, $this->_moduleDir, $post->postid(), $post->topic(), $post->forum());
    }

    function searchFetchContents($limit, $offset)
    {
        $db = XoopsDatabaseFactory::getDatabaseConnection();
        $sql = sprintf(
            'SELECT p.post_id, p.uid, p.subject, p.post_time, p.nohtml, p.nosmiley, t.post_text
               FROM %1$s_bb_posts p
               INNER JOIN %1$s_bb_posts_text t ON p.post_id = t.post_id
               ORDER BY p.post_id ASC',
            $db->prefix()
        );
        if (!$result = $db->query($sql)) return array();

        return $this->_processResult($db, $result);
    }

    function searchCountContents()
    {
        $db = XoopsDatabaseFactory::getDatabaseConnection();
        $sql = sprintf(
            'SELECT COUNT(post_id) FROM %s_bb_posts',
            $db->prefix()
        );
        if ($result = $db->query($sql)) {
            if ($row = $db->fetchRow($result)) {
                return $row[0];
            }
        }

        return 0;
    }

    function searchFetchContentsSince($timestamp, $limit, $offset)
    {
        $db = XoopsDatabaseFactory::getDatabaseConnection();
        $sql = sprintf(
            'SELECT p.post_id, p.uid, p.subject, p.post_time, p.nohtml, p.nosmiley, t.post_text
               FROM %s_bb_posts p
               INNER JOIN %1$s_bb_posts_text t ON p.post_id = t.post_id
               WHERE p.post_time > %d
               ORDER BY p.post_id ASC',
            $db->prefix(),
            $timestamp
        );
        if (!$result = $db->query($sql)) return array();

        return $this->_processResult($db, $result);
    }

    function searchCountContentsSince($timestamp)
    {
        $db = XoopsDatabaseFactory::getDatabaseConnection();
        $sql = sprintf(
            'SELECT COUNT(post_id) FROM %s_bb_posts WHERE post_time > %d',
            $db->prefix(),
            $timestamp
        );
        if ($result = $db->query($sql)) {
            if ($row = $db->fetchRow($result)) {
                return $row[0];
            }
        }

        return 0;
    }

    function searchFetchContentsByIds($contentIds)
    {
        $db = XoopsDatabaseFactory::getDatabaseConnection();
        $sql = sprintf(
            'SELECT p.post_id, p.uid, p.subject, p.post_time, p.nohtml, p.nosmiley, t.post_text
               FROM %1$s_bb_posts p
               INNER JOIN %1$s_bb_posts_text t ON p.post_id = t.post_id
               WHERE p.post_id IN (%2$s)
               ORDER BY p.post_id ASC',
            $db->prefix(),
            implode(',', array_map('intval', $contentIds))
        );
        if (!$result = $db->query($sql)) return array();

        return $this->_processResult($db, $result);
    }

    private function _processResult($db, $result)
    {
        $ret = array();
        $myts = MyTextSanitizer::getInstance();
        while ($row = $db->fetchRow($result)) {
            $ret[] = array(
                'id' => $row['post_id'],
                'user_id' => $row['uid'],
                'title' => $row['subject'],
                'body' => $myts->makeTareaData4Show($row['post_text'], !$row['nohtml'], !$row['nosmiley'], 1),
                'created' => $row['post_time'],
                'modified' => $row['post_time'],
                'keywords' => array(),
                'group' => '',
            );
        }

        return $ret;
    }
}

    投票(0)

    新しいものから | 古いものから | RSS feed
     
    To Top