Source for file pninit.php
Documentation is available at pninit.php
* Zikula Application Framework
* @copyright (c) 2002, Zikula Development Team
* @link http://www.zikula.org
* @version $Id: pninit.php 24342 2008-06-06 12:03:14Z markwest $
* @license GNU/GPL - http://www.gnu.org/copyleft/gpl.html
* @package Zikula_Value_Addons
// create our default category
// Set up module variables
pnModSetVar('FAQ', 'addcategorytitletopermalink', true);
// Initialisation successful
// version 1.11 shipped with PN .7x
// .7x upgrade needs to rename a row before update the table
// Set up module variables
// populate permalinks for existing content
$sql = "UPDATE $tables[faqanswer] SET pn_urltitle = REPLACE(pn_question, ' ', '{$shorturlsep}')";
pnModSetVar('FAQ', 'addcategorytitletopermalink', true);
// Delete module variables
// Delete entries from category registry
$registry->deleteWhere ('crg_modname=\'FAQ\'');
* migrate old local categories to the categories module
// load the admin language file
// pull all data from the old table
$sql = "SELECT pn_categories, pn_id_cat, pn_parent_id FROM {$prefix}_faqcategories";
for (; !$result->EOF; $result->MoveNext()) {
$categories[] = $result->fields;
// load necessary classes
// create root category and entry in the categories registry
// get the category path for which we're going to insert our upgraded categories
// migrate our root categories
foreach ($categories as $category) {
// we'll deal with sub categories on a second pass
if ($category[2] != 0) continue;
$cat->setDataField('parent_id', $rootcat['id']);
$cat->setDataField('name', $category[0]);
$cat->setDataField('display_name', array($lang => $category[0]));
$cat->setDataField('display_desc', array($lang => $category[0]));
if (!$cat->validate('admin')) {
$categorymap[$category[1]] = $cat->getDataField('id');
// migrate our sub categories
foreach ($categories as $category) {
// root categories are already done
if ($category[2] == 0) continue;
$cat->setDataField('parent_id', $categorymap[$category[2]]);
$cat->setDataField('name', $category[0]);
$cat->setDataField('display_name', array($lang => $category[0]));
$cat->setDataField('display_desc', array($lang => $category[0]));
if (!$cat->validate('admin')) {
$categorymap[$category[1]] = $cat->getDataField('id');
// migrate page category assignments
$sql = "SELECT pn_id, pn_id_cat FROM {$prefix}_faqanswer";
for (; !$result->EOF; $result->MoveNext()) {
$pages[] = array('faqid' => $result->fields[0],
'__CATEGORIES__' => array('Main' => $categorymap[$result->fields[1]]),
'__META__' => array('module' => 'FAQ'));
foreach ($pages as $page) {
// finally drop the secid column
* create placeholder for categories
// load necessary classes
// get the category path for which we're going to insert our place holder category
// create placeholder for all our migrated categories
$cat->setDataField('parent_id', $rootcat['id']);
$cat->setDataField('name', 'FAQ');
if (!$cat->validate('admin')) {
// get the category path for which we're going to insert our upgraded categories
// create an entry in the categories registry
$registry->setDataField('modname', 'FAQ');
$registry->setDataField('table', 'faqanswer');
$registry->setDataField('property', 'Main');
$registry->setDataField('category_id', $rootcat['id']);
|