Note: this list is kept only as a demonstration for CVSNotice. For the latest CVS notices, see the Xaraya and Postnuke sites
View Statistics - Next Notice - Previous NoticeDirectory filter : [ all ] / postnuke_official / html / modules / blocks [ view in CVS ]
| Date | Directory [filter] | File(s) [view] | Author [filter] |
| 29 Jul 2002 04:35:49 | postnuke_official/html/modules/blocks | pnadmin.php,1.43,1.44 pnadminapi.php,1.15,1.16 | Paul Rosania |
| added group delete functionality | |||
Update of /home/cvsroot/postnuke_official/html/modules/blocks
In directory ns7.hostnuke.net:/tmp/cvs-serv6122
Modified Files:
pnadmin.php pnadminapi.php
Log Message:
added group delete functionality
Index: pnadmin.php
===================================================================
RCS file: /home/cvsroot/postnuke_official/html/modules/blocks/pnadmin.php,v
retrieving revision 1.43
retrieving revision 1.44
diff -C2 -d -r1.43 -r1.44
*** pnadmin.php 28 Jul 2002 17:12:22 -0000 1.43
--- pnadmin.php 29 Jul 2002 04:35:47 -0000 1.44
***************
*** 43,48 ****
// Permissions check
if (!pnSecAuthAction(0, 'Blocks::', '::', ACCESS_ADMIN)) {
! $output->Text(_BLOCKSNOAUTH);
! return $output->GetOutput();
}
--- 43,47 ----
// Permissions check
if (!pnSecAuthAction(0, 'Blocks::', '::', ACCESS_ADMIN)) {
! return _BLOCKSNOAUTH;
}
***************
*** 92,97 ****
// Permissions check
if (!pnSecAuthAction(0, 'Blocks::', '::', ACCESS_ADMIN)) {
! $output->Text(_BLOCKSNOAUTH);
! return $output->GetOutput();
}
--- 91,95 ----
// Permissions check
if (!pnSecAuthAction(0, 'Blocks::', '::', ACCESS_ADMIN)) {
! return _BLOCKSNOAUTH;
}
***************
*** 155,160 ****
// Permissions check
if (!pnSecAuthAction(0, 'Blocks::', '::', ACCESS_ADMIN)) {
! $output->Text(_BLOCKSNOAUTH);
! return $output->GetOutput();
}
--- 153,157 ----
// Permissions check
if (!pnSecAuthAction(0, 'Blocks::', '::', ACCESS_ADMIN)) {
! return _BLOCKSNOAUTH;
}
***************
*** 550,555 ****
// Load block
if (!pnBlockLoad($blockinfo['module'], $blockinfo['type'])) {
! $output->Text(_NOSUCHBLOCK);
! return true;
}
--- 547,551 ----
// Load block
if (!pnBlockLoad($blockinfo['module'], $blockinfo['type'])) {
! return pnML('Block instance not found.');
}
***************
*** 580,584 ****
$blockinfo)) {
// Success
! pnSessionSetVar('statusmsg', _UPDATEDBLOCK);
if (!empty($resequence)) {
--- 576,580 ----
$blockinfo)) {
// Success
! pnSessionSetVar('statusmsg', pnML('Block instance updated.'));
if (!empty($resequence)) {
***************
*** 682,686 ****
if ($block_id != false) {
// Success
! pnSessionSetVar('statusmsg', _BLOCKCREATED);
// Send to modify page to update block specifics
--- 678,682 ----
if ($block_id != false) {
// Success
! pnSessionSetVar('statusmsg', pnML('Block instance created.'));
// Send to modify page to update block specifics
***************
*** 700,706 ****
function blocks_admin_new_group()
{
- list($dbconn) = pnDBGetConn();
- $pntable = pnDBGetTables();
-
return array();
}
--- 696,699 ----
***************
*** 735,744 ****
if ($group_id != false) {
// Success
! pnSessionSetVar('statusmsg', _GROUPCREATED);
// Send to modify page to update group specifics
pnRedirect(pnModURL('blocks',
'admin',
! 'modify_group', array('group_id' => $group_id)));
return true;
--- 728,737 ----
if ($group_id != false) {
// Success
! pnSessionSetVar('statusmsg', pnML('Block group created.'));
// Send to modify page to update group specifics
pnRedirect(pnModURL('blocks',
'admin',
! 'modify_group', array('gid' => $group_id)));
return true;
***************
*** 751,754 ****
--- 744,944 ----
/**
+ * modify a block group
+ */
+ function blocks_admin_modify_group()
+ {
+ // Get parameters
+ list($gid, $confirm) = pnVarCleanFromInput('gid', 'confirm');
+
+ // Get details on current group
+
+ // Load up database
+ list($dbconn) = pnDBGetConn();
+ $pntable = pnDBGetTables();
+ $block_group_instances_table = $pntable['block_group_instances'];
+ $block_instances_table = $pntable['block_instances'];
+ $block_groups_table = $pntable['block_groups'];
+ $block_types_table = $pntable['block_types'];
+
+ $query = "SELECT pn_id as id,
+ pn_name as name,
+ pn_template as template
+ FROM $block_groups_table
+ WHERE pn_id = $gid";
+ $result = $dbconn->Execute($query);
+
+ // Check for db errors
+ if ($dbconn->ErrorNo() != 0) {
+ $msg = pnMLByKey('DATABASE_ERROR', $query);
+ pnExceptionSet(PN_SYSTEM_EXCEPTION, 'DATABASE_ERROR',
+ new SystemException(__FILE__.'('.__LINE__.'): '.$msg));
+ return NULL;
+ }
+
+ // Load up groups array
+ if($result->EOF) {
+ // error
+ }
+
+ $group = $result->GetRowAssoc(false);
+
+ $result->Close();
+
+ // Query for instances in this group
+ $query = "SELECT inst.pn_id as bid,
+ types.pn_type as type,
+ types.pn_module as module,
+ inst.pn_title as title,
+ group_inst.pn_position as position
+ FROM $block_groups_table as groups
+ LEFT JOIN $block_group_instances_table as group_inst
+ ON group_inst.pn_group_id = groups.pn_id
+ LEFT JOIN $block_instances_table as inst
+ ON inst.pn_id = group_inst.pn_instance_id
+ LEFT JOIN $block_types_table as types
+ ON types.pn_id = inst.pn_type_id
+ WHERE groups.pn_id = '{$group['id']}'
+ ORDER BY group_inst.pn_position ASC";
+ $result = $dbconn->Execute($query);
+
+ // Check for db errors
+ if ($dbconn->ErrorNo() != 0) {
+ $msg = pnMLByKey('DATABASE_ERROR', $query);
+ pnExceptionSet(PN_SYSTEM_EXCEPTION, 'DATABASE_ERROR',
+ new SystemException(__FILE__.'('.__LINE__.'): '.$msg));
+ return NULL;
+ }
+
+ // Load up list of group's instances
+ $instances = array();
+ while (!$result->EOF) {
+ $inst = $result->GetRowAssoc(false);
+ $instances[] = $inst;
+ $result->MoveNext();
+ }
+
+ $result->Close();
+
+ $group['instances'] = $instances;
+
+ return array('group' => $group,
+ 'authid' => pnSecGenAuthKey());
+ }
+
+ /**
+ * delete a block group
+ */
+ function blocks_admin_delete_group()
+ {
+
+ // Get parameters
+ list($gid, $confirm) = pnVarCleanFromInput('gid', 'confirm');
+
+ // Check for confirmation
+ if (empty($confirm)) {
+ // No confirmation yet - get one
+
+ // Get details on current group
+
+ // Load up database
+ list($dbconn) = pnDBGetConn();
+ $pntable = pnDBGetTables();
+ $block_group_instances_table = $pntable['block_group_instances'];
+ $block_instances_table = $pntable['block_instances'];
+ $block_groups_table = $pntable['block_groups'];
+ $block_types_table = $pntable['block_types'];
+
+ $query = "SELECT pn_id as id,
+ pn_name as name,
+ pn_template as template
+ FROM $block_groups_table
+ WHERE pn_id = $gid";
+
+ $result = $dbconn->Execute($query);
+
+ // Check for db errors
+ if ($dbconn->ErrorNo() != 0) {
+ $msg = pnMLByKey('DATABASE_ERROR', $query);
+ pnExceptionSet(PN_SYSTEM_EXCEPTION, 'DATABASE_ERROR',
+ new SystemException(__FILE__.'('.__LINE__.'): '.$msg));
+ return NULL;
+ }
+
+ // Load up groups array
+ if($result->EOF) {
+ // error
+ }
+
+ $group = $result->GetRowAssoc(false);
+
+ $result->Close();
+
+ // Query for instances in this group
+ $query = "SELECT inst.pn_id as bid,
+ types.pn_type as type,
+ types.pn_module as module,
+ inst.pn_title as title,
+ group_inst.pn_position as position
+ FROM $block_groups_table as groups
+ LEFT JOIN $block_group_instances_table as group_inst
+ ON group_inst.pn_group_id = groups.pn_id
+ LEFT JOIN $block_instances_table as inst
+ ON inst.pn_id = group_inst.pn_instance_id
+ LEFT JOIN $block_types_table as types
+ ON types.pn_id = inst.pn_type_id
+ WHERE groups.pn_id = '{$group['id']}'
+ ORDER BY group_inst.pn_position ASC";
+
+ $result = $dbconn->Execute($query);
+
+ // Check for db errors
+ if ($dbconn->ErrorNo() != 0) {
+ $msg = pnMLByKey('DATABASE_ERROR', $query);
+ pnExceptionSet(PN_SYSTEM_EXCEPTION, 'DATABASE_ERROR',
+ new SystemException(__FILE__.'('.__LINE__.'): '.$msg));
+ return NULL;
+ }
+
+ // Load up list of group's instances
+ $instances = array();
+ while(!$result->EOF) {
+ $inst = $result->GetRowAssoc(false);
+ $instances[] = $inst;
+ $result->MoveNext();
+ }
+
+ $result->Close();
+
+ $group['instances'] = $instances;
+
+ return array('group' => $group,
+ 'authid' => pnSecGenAuthKey());
+ }
+
+ // Confirm authorisation code
+ if (!pnSecConfirmAuthKey()) {
+ pnSessionSetVar('errormsg', _BADAUTHKEY);
+ pnRedirect(pnModURL('blocks', 'admin', 'main'));
+ return true;
+ }
+
+ // Load in API
+ pnModAPILoad('blocks', 'admin');
+
+ // Pass to API
+ if (pnModAPIFunc('blocks',
+ 'admin',
+ 'delete_group', array('gid' => $gid))) {
+ // Success
+ pnSessionSetVar('statusmsg', pnML('Block group deleted.'));
+
+ }
+
+ pnRedirect(pnModURL('blocks', 'admin', 'main'));
+
+ return true;
+ }
+
+ /**
* delete a block instance
*/
***************
*** 785,789 ****
'delete_instance', array('bid' => $bid))) {
// Success
! pnSessionSetVar('statusmsg', _BLOCKDELETED);
}
--- 975,979 ----
'delete_instance', array('bid' => $bid))) {
// Success
! pnSessionSetVar('statusmsg', pnML('Block instance deleted.'));
}
***************
*** 792,797 ****
return true;
-
}
/**
* Any config options would likely go here in the future
--- 982,987 ----
return true;
}
+
/**
* Any config options would likely go here in the future
***************
*** 800,804 ****
{
! // $output->FormCheckBox('collapseable', pnModGetVar('blocks', 'collapseable'));
return array();
}
--- 990,994 ----
{
! // pnModGetVar('blocks', 'collapseable')
return array();
}
***************
*** 847,852 ****
//$modinfo = pnModGetInfo($bkey);
if (!pnBlockLoad($modname, $bkey)) {
! $output->Text(_NOSUCHBLOCK);
! return true;
}
$output = new pnHTML();
--- 1037,1041 ----
//$modinfo = pnModGetInfo($bkey);
if (!pnBlockLoad($modname, $bkey)) {
! return pnML('Block instance does not exist.');
}
$output = new pnHTML();
Index: pnadminapi.php
===================================================================
RCS file: /home/cvsroot/postnuke_official/html/modules/blocks/pnadminapi.php,v
retrieving revision 1.15
retrieving revision 1.16
diff -C2 -d -r1.15 -r1.16
*** pnadminapi.php 28 Jul 2002 03:52:14 -0000 1.15
--- pnadminapi.php 29 Jul 2002 04:35:47 -0000 1.16
***************
*** 360,364 ****
// TODO: group add permissions
// Security check
! if (!pnSecAuthAction(0, 'Blocks::', "$title::", ACCESS_ADD)) {
pnSessionSetVar('errormsg', _BLOCKSNOAUTH);
return false;
--- 360,364 ----
// TODO: group add permissions
// Security check
! if (!pnSecAuthAction(0, 'Blocks::', "$name::", ACCESS_ADD)) {
pnSessionSetVar('errormsg', _BLOCKSNOAUTH);
return false;
***************
*** 534,537 ****
--- 534,633 ----
}
+ /**
+ * delete a group
+ * @param $args['gid'] the ID of the block group to delete
+ * @returns bool
+ * @return true on success, false on failure
+ */
+ function blocks_adminapi_delete_group($args)
+ {
+ // Get arguments from argument array
+ extract($args);
+
+ // Argument check
+ if (!isset($gid)) {
+ pnSessionSetVar('errormsg', _MODARGSERROR);
+ return false;
+ }
+
+ // Security check
+ if (!pnSecAuthAction(0, 'Blocks::', "::$gid", ACCESS_DELETE)) {
+ pnSessionSetVar('errormsg', _BLOCKSNOAUTH);
+ return false;
+ }
+ list($dbconn) = pnDBGetConn();
+ $pntable = pnDBGetTables();
+ $block_groups_table = $pntable['block_groups'];
+ $block_instances_table = $pntable['block_instances'];
+ $block_group_instances_table = $pntable['block_group_instances'];
+
+ // Query for instances in this group
+ $query = "SELECT inst.pn_id as id
+ FROM $block_group_instances_table as group_inst
+ LEFT JOIN $block_instances_table as inst
+ ON inst.pn_id = group_inst.pn_instance_id
+ WHERE group_inst.pn_group_id = '$gid'";
+ $result = $dbconn->Execute($query);
+
+ // Check for db errors
+ if ($dbconn->ErrorNo() != 0) {
+ $msg = pnMLByKey('DATABASE_ERROR', $query);
+ pnExceptionSet(PN_SYSTEM_EXCEPTION, 'DATABASE_ERROR',
+ new SystemException(__FILE__.'('.__LINE__.'): '.$msg));
+ return false;
+ }
+
+ // Load up list of group's instances
+ $instances = array();
+ while (!$result->EOF) {
+ $instances[] = $result->GetRowAssoc(false);
+ $result->MoveNext();
+ }
+
+ $result->Close();
+
+ // Delete group member instance definitions
+ foreach ($instances as $instance) {
+ $query = "DELETE FROM $block_instances_table
+ WHERE pn_id = ".$instance['id'];echo $query;
+ $dbconn->Execute($query);
+
+ // Check for db errors
+ if ($dbconn->ErrorNo() != 0) {
+ $msg = pnMLByKey('DATABASE_ERROR', $query);
+ pnExceptionSet(PN_SYSTEM_EXCEPTION, 'DATABASE_ERROR',
+ new SystemException(__FILE__.'('.__LINE__.'): '.$msg));
+ return false;
+ }
+ }
+
+ // Delete block group definition
+ $query = "DELETE FROM $block_groups_table
+ WHERE pn_id=" . pnVarPrepForStore($gid);
+ $dbconn->Execute($query);
+
+ // Check for db errors
+ if ($dbconn->ErrorNo() != 0) {
+ $msg = pnMLByKey('DATABASE_ERROR', $query);
+ pnExceptionSet(PN_SYSTEM_EXCEPTION, 'DATABASE_ERROR',
+ new SystemException(__FILE__.'('.__LINE__.'): '.$msg));
+ return false;
+ }
+
+ // Delete group-instance links
+ $query = "DELETE FROM $block_group_instances_table
+ WHERE pn_group_id=" . pnVarPrepForStore($gid);
+ $dbconn->Execute($query);
+
+ // Check for db errors
+ if ($dbconn->ErrorNo() != 0) {
+ $msg = pnMLByKey('DATABASE_ERROR', $query);
+ pnExceptionSet(PN_SYSTEM_EXCEPTION, 'DATABASE_ERROR',
+ new SystemException(__FILE__.'('.__LINE__.'): '.$msg));
+ return false;
+ }
+
+ return true;
+ }
/**
View Statistics - Next Notice - Previous Notice
| Visit Developer Site - Browse CVS Repository |
Syndicate via backend.rss (max. once per hour please) | Powered by CVSNotice 0.1.3 |