r2184 - enhance saveEntityTags() and get rid of 6 wrapping functions
authorDenis Ovsienko <infrastation@yandex.ru>
Fri, 29 Aug 2008 16:41:06 +0000 (16:41 +0000)
committerDenis Ovsienko <infrastation@yandex.ru>
Fri, 29 Aug 2008 16:41:06 +0000 (16:41 +0000)
inc/database.php
inc/navigation.php
inc/ophandlers.php

index dd7dcaa..5e358f1 100644 (file)
@@ -2851,8 +2851,10 @@ function deleteTagForEntity ($entity_realm, $entity_id, $tag_id)
 }
 
 // Push a record into TagStorage unconditionally.
-function addTagForEntity ($realm, $entity_id, $tag_id)
+function addTagForEntity ($realm = '', $entity_id, $tag_id)
 {
+       if (empty ($realm))
+               return FALSE;
        return useInsertBlade
        (
                'TagStorage',
index 646d008..156b58b 100644 (file)
@@ -71,7 +71,7 @@ $tabhandler['rack']['problems'] = 'renderRackProblems';
 $tabhandler['rack']['tags'] = 'renderRackTags';
 $trigger['rack']['tags'] = 'trigger_tags';
 $ophandler['rack']['edit']['updateRack'] = 'updateRack';
-$ophandler['rack']['tags']['saveTags'] = 'saveRackTags';
+$ophandler['rack']['tags']['saveTags'] = 'saveEntityTags';
 $msgcode['rack']['edit']['updateRack']['OK'] = 68;
 $msgcode['rack']['edit']['updateRack']['ERR'] = 177;
 
@@ -139,7 +139,7 @@ $ophandler['object']['nat4']['delNATv4Rule'] = 'delPortForwarding';
 $ophandler['object']['nat4']['updNATv4Rule'] = 'updPortForwarding';
 $ophandler['object']['livevlans']['setPortVLAN'] = 'setPortVLAN';
 $ophandler['object']['autoports']['generate'] = 'generateAutoPorts';
-$ophandler['object']['tags']['saveTags'] = 'saveObjectTags';
+$ophandler['object']['tags']['saveTags'] = 'saveEntityTags';
 $ophandler['object']['editrspvs']['addLB'] = 'addLoadBalancer';
 $ophandler['object']['editrspvs']['delLB'] = 'deleteLoadBalancer';
 $ophandler['object']['editrspvs']['updLB'] = 'updateLoadBalancer';
@@ -236,7 +236,7 @@ $tabhandler['iprange']['tags'] = 'renderIPv4PrefixTags';
 $trigger['iprange']['tags'] = 'trigger_tags';
 $ophandler['iprange']['properties']['editRange'] = 'updIPv4Prefix';
 $ophandler['iprange']['liveptr']['importPTRData'] = 'importPTRData';
-$ophandler['iprange']['tags']['saveTags'] = 'saveIPv4PrefixTags';
+$ophandler['iprange']['tags']['saveTags'] = 'saveEntityTags';
 $msgcode['iprange']['properties']['editRange']['OK'] = 25;
 $msgcode['iprange']['properties']['editRange']['ERR'] = 100;
 $msgcode['iprange']['liveptr']['importPTRData']['OK'] = 26;
@@ -300,7 +300,7 @@ $tabhandler['ipv4vs']['edit'] = 'renderEditVService';
 $tabhandler['ipv4vs']['editlblist'] = 'renderVServiceLBForm';
 $tabhandler['ipv4vs']['tags'] = 'renderIPv4VSTags';
 $ophandler['ipv4vs']['edit']['updIPv4VS'] = 'updateVService';
-$ophandler['ipv4vs']['tags']['saveTags'] = 'saveIPv4VSTags';
+$ophandler['ipv4vs']['tags']['saveTags'] = 'saveEntityTags';
 $ophandler['ipv4vs']['editlblist']['addLB'] = 'addLoadBalancer';
 $ophandler['ipv4vs']['editlblist']['delLB'] = 'deleteLoadBalancer';
 $ophandler['ipv4vs']['editlblist']['updLB'] = 'updateLoadBalancer';
@@ -351,7 +351,7 @@ $ophandler['ipv4rsp']['editlblist']['addLB'] = 'addLoadBalancer';
 $ophandler['ipv4rsp']['editlblist']['delLB'] = 'deleteLoadBalancer';
 $ophandler['ipv4rsp']['editlblist']['updLB'] = 'updateLoadBalancer';
 $ophandler['ipv4rsp']['rsinservice']['upd'] = 'updateRSInService';
-$ophandler['ipv4rsp']['tags']['saveTags'] = 'saveIPv4RSPoolTags';
+$ophandler['ipv4rsp']['tags']['saveTags'] = 'saveEntityTags';
 $ophandler['ipv4rsp']['edit']['updIPv4RSP'] = 'updateRSPool';
 $msgcode['ipv4rsp']['editrslist']['addRS']['OK'] = 34;
 $msgcode['ipv4rsp']['editrslist']['addRS']['ERR'] = 126;
@@ -413,7 +413,7 @@ $tab['user']['default'] = 'View';
 $tab['user']['tags'] = 'Tags';
 $tabhandler['user']['default'] = 'renderUser';
 $tabhandler['user']['tags'] = 'renderUserTags';
-$ophandler['user']['tags']['saveTags'] = 'saveUserTags';
+$ophandler['user']['tags']['saveTags'] = 'saveEntityTags';
 
 $page['perms']['title'] = 'Permissions';
 $page['perms']['parent'] = 'config';
index 58584ec..aa77520 100644 (file)
@@ -1141,9 +1141,25 @@ function generateAutoPorts ()
 }
 
 // Filter out implicit tags before storing the new tag set.
-function saveEntityTags ($realm, $bypass)
+function saveEntityTags ()
 {
-       global $explicit_tags, $implicit_tags;
+       $page2realm = array
+       (
+               'object' => 'object',
+               'iprange' => 'ipv4net',
+               'rack' => 'rack',
+               'ipv4vs' => 'ipv4vs',
+               'ipv4rsp' => 'ipv4rspool',
+               'user' => 'user'
+       );
+       global $explicit_tags, $implicit_tags, $page, $pageno;
+       if (!isset ($page2realm[$pageno]) or !isset ($page[$pageno]['bypass']))
+       {
+               showError ('Internal error', __FUNCTION__);
+               die;
+       }
+       $realm = $page2realm[$pageno];
+       $bypass = $page[$pageno]['bypass'];
        assertUIntArg ($bypass, __FUNCTION__);
        $entity_id = $_REQUEST[$bypass];
        $taglist = isset ($_REQUEST['taglist']) ? $_REQUEST['taglist'] : array();
@@ -1163,36 +1179,6 @@ function saveEntityTags ($realm, $bypass)
                return buildRedirectURL ('OK', array ($n_succeeds));
 }
 
-function saveObjectTags ()
-{
-       return saveEntityTags ('object', 'object_id');
-}
-
-function saveIPv4PrefixTags ()
-{
-       return saveEntityTags ('ipv4net', 'id');
-}
-
-function saveRackTags ()
-{
-       return saveEntityTags ('rack', 'rack_id');
-}
-
-function saveIPv4VSTags ()
-{
-       return saveEntityTags ('ipv4vs', 'vs_id');
-}
-
-function saveIPv4RSPoolTags ()
-{
-       return saveEntityTags ('ipv4rspool', 'pool_id');
-}
-
-function saveUserTags ()
-{
-       return saveEntityTags ('user', 'user_id');
-}
-
 function destroyTag ()
 {
        assertUIntArg ('tag_id', __FUNCTION__);