centralM
[ class tree: centralM ] [ index: centralM ] [ all elements ]

Source for file actions.class.php

Documentation is available at actions.class.php

  1. <?php
  2.  
  3. /**
  4.  * vlan actions.
  5.  *
  6.  * @package    centralM
  7.  * @subpackage vlan
  8.  * @author     Your name here
  9.  * @version    SVN: $Id: actions.class.php 12474 2008-10-31 10:41:27Z fabien $
  10.  */
  11. class vlanActions extends sfActions
  12. {
  13.     
  14.   public function executeGrid(sfWebRequest $request)
  15.   {
  16.       $this->form new EtvaVlanForm();
  17.       $this->node_id $request->getParameter('nid');
  18.       $this->tableMap EtvaVlanPeer::getTableMap();
  19.       
  20.   }
  21.  
  22.  
  23.   
  24.  
  25.   public function executeJsonNew(sfWebRequest $request)
  26.   {
  27.     $vlan json_decode($request->getParameter('vlan'),true);
  28.  
  29.  
  30.  
  31.  
  32.         $etva_vlan new EtvaVlan();
  33.         $etva_vlan->fromArray($vlan);
  34.         $etva_vlan->save();
  35.  
  36.      //7   $mac = EtvaMacPeer::retrieveByMac($object['Mac']);
  37.       //  $mac->setInUse(1);
  38.      //   $mac->save();
  39.  
  40.     
  41.     $result array('success'=>true);
  42.     $result json_encode($result);
  43.  
  44.     $this->getContext()->getResponse()->setHttpHeader("X-JSON"'()')// set a header, (although it is empty, it is nicer than without a correct header. Filling the header with the result will not be parsed by extjs as far as I have seen).
  45.  
  46.     return $this->renderText($result);
  47.  
  48.   }
  49.  
  50.  
  51.   public function executeJsonList(sfWebRequest $request)
  52.   {
  53.  
  54.     $c new Criteria();
  55.     
  56.     $etva_vlan_list EtvaVlanPeer::doSelect($c);
  57.  
  58.     $list array();
  59.     foreach($etva_vlan_list as $vlan)
  60.                 $list[$vlan->toArray();
  61.  
  62.  
  63.     $result array('total' =>   count($list),'data'  => $list);
  64.     
  65.     $result json_encode($result);
  66.  
  67.     $this->getResponse()->setHttpHeader("X-JSON"'()');
  68.     return $this->renderText($result);
  69.   }
  70.  
  71.   public function executeJsonTree(sfWebRequest $request)
  72.   {
  73.     $etva_vlan_list EtvaVlanPeer::doSelect(new Criteria());
  74.  
  75.     $tree array();
  76.     foreach($etva_vlan_list as $vlan)
  77.                 $tree[array('id'=>$vlan->getId(),'uiProvider'=>'col','iconCls'=>'devices-folder','text'=> 'Vlan '.$vlan->getId(),'name'=>$vlan->getName(),'singleClickExpand'=>true,'leaf'=>true);
  78.                                     
  79.                 
  80.     
  81.     $result json_encode($tree);
  82.  
  83.     $this->getResponse()->setHttpHeader("X-JSON"'()');
  84.     return $this->renderText($result);
  85.   }
  86.  
  87.  
  88.   public function executeJsonGrid(sfWebRequest $request)
  89.   {
  90.     $isAjax $request->isXmlHttpRequest();
  91.  
  92.     if(!$isAjaxreturn $this->redirect('@homepage');
  93.  
  94.     $limit $this->getRequestParameter('limit'10);
  95.     $page floor($this->getRequestParameter('start'0$limit)+1;
  96.  
  97.     // pager
  98.     $this->pager new sfPropelPager('EtvaVlan'$limit);
  99.     $c new Criteria();
  100.  
  101.     $this->addSortCriteria($c);
  102.    // $this->addNodeCriteria($c);
  103.  
  104.     $this->pager->setCriteria($c);
  105.     $this->pager->setPage($page);
  106.  
  107.     $this->pager->setPeerMethod('doSelect');
  108.     $this->pager->setPeerCountMethod('doCount');
  109.  
  110.     $this->pager->init();
  111.  
  112.  
  113.     $elements array();
  114.     $i 0;
  115.  
  116.     # Get data from Pager
  117.     foreach($this->pager->getResults(as $item){
  118.              // $serverGroup = $item->getsfGuardGroup();
  119.              // $serverGroupName = $serverGroup->getName();
  120.  
  121.              $elements[$i$item->toArray();
  122.             // $elements[$i]['SfGuardGroupName'] = $serverGroupName;
  123.              $i++;
  124.     }
  125.  
  126.  
  127.     $final array(
  128.       'total' =>   $this->pager->getNbResults(),
  129.       'data'  => $elements
  130.     );
  131.  
  132.     $result json_encode($final);
  133.  
  134.     $this->getResponse()->setHttpHeader("X-JSON"'()')// set a header, (although it is empty, it is nicer than without a correct header. Filling the header with the result will not be parsed by extjs as far as I have seen).
  135.     return $this->renderText($result);
  136.  
  137.   }
  138.  
  139.   public function executeNew(sfWebRequest $request)
  140.   {
  141.     $this->form new EtvaVlanForm();
  142.   }
  143.  
  144.   public function executeCreate(sfWebRequest $request)
  145.   {
  146.     $this->forward404Unless($request->isMethod('post'));
  147.  
  148.     $this->form new EtvaVlanForm();
  149.  
  150.     $this->processForm($request$this->form);
  151.  
  152.     $this->setTemplate('new');
  153.   }
  154.  
  155.   public function executeEdit(sfWebRequest $request)
  156.   {
  157.     $this->forward404Unless($etva_vlan EtvaVlanPeer::retrieveByPk($request->getParameter('id'))sprintf('Object etva_vlan does not exist (%s).'$request->getParameter('id')));
  158.     $this->form new EtvaVlanForm($etva_vlan);
  159.   }
  160.  
  161.   public function executeUpdate(sfWebRequest $request)
  162.   {
  163.     $this->forward404Unless($request->isMethod('post'|| $request->isMethod('put'));
  164.     $this->forward404Unless($etva_vlan EtvaVlanPeer::retrieveByPk($request->getParameter('id'))sprintf('Object etva_vlan does not exist (%s).'$request->getParameter('id')));
  165.     $this->form new EtvaVlanForm($etva_vlan);
  166.  
  167.     $this->processForm($request$this->form);
  168.  
  169.     $this->setTemplate('edit');
  170.   }
  171.  
  172.   public function executeJsonDelete(sfWebRequest $request)
  173.   {
  174.  
  175.     $etva_vlan EtvaVlanPeer::retrieveByName($request->getParameter('name'));
  176.     $c new Criteria();
  177.     $c->add(EtvaNetworkPeer::VLAN,$etva_vlan->getName());
  178.     if($etva_network EtvaNetworkPeer::doSelectOne($c)){
  179.         $error .= "Cannot delete vlan. Vlan in use";
  180.         //$error .= implode('=',$params)."\n";
  181.         $this->getResponse()->setStatusCode(403);
  182.         // $this->getResponse()->setHttpHeader('Status', '404 Not Found');
  183.         $error json_encode($error);
  184.        // $error = json_encode(array('error'=>'da'));
  185.         return $this->renderText($error);
  186.     }
  187.     
  188.  
  189.     $etva_vlan->delete();
  190.  
  191.     $result array('success'=>true);
  192.     $result json_encode($result);
  193.  
  194.     $this->getContext()->getResponse()->setHttpHeader("X-JSON"'()')// set a header, (although it is empty, it is nicer than without a correct header. Filling the header with the result will not be parsed by extjs as far as I have seen).
  195.  
  196.     return $this->renderText($result);
  197.  
  198.   }
  199.  
  200.   public function executeDelete(sfWebRequest $request)
  201.   {
  202.     $request->checkCSRFProtection();
  203.  
  204.     $this->forward404Unless($etva_vlan EtvaVlanPeer::retrieveByPk($request->getParameter('id'))sprintf('Object etva_vlan does not exist (%s).'$request->getParameter('id')));
  205.     $etva_vlan->delete();
  206.  
  207.     $this->redirect('vlan/index');
  208.   }
  209.  
  210.   protected function processForm(sfWebRequest $requestsfForm $form)
  211.   {
  212.     $form->bind($request->getParameter($form->getName())$request->getFiles($form->getName()));
  213.     if ($form->isValid())
  214.     {
  215.       $etva_vlan $form->save();
  216.  
  217.       $this->redirect('vlan/edit?id='.$etva_vlan->getId());
  218.     }
  219.   }
  220.  
  221.  
  222.   protected function addNodeCriteria($criteria)
  223.   {
  224.  
  225.     $nodeID $this->getRequestParameter("nid");    
  226.     $criteria->add(EtvaVlanPeer::NODE_ID$nodeID);
  227.   }
  228.  
  229.   protected function addSortCriteria($criteria)
  230.   {
  231.     if ($this->getRequestParameter('sort')==''return;
  232.  
  233.     $column EtvaVlanPeer::translateFieldName(sfInflector::camelize($this->getRequestParameter('sort'))BasePeer::TYPE_PHPNAMEBasePeer::TYPE_COLNAME);
  234.  
  235.     if ('asc' == strtolower($this->getRequestParameter('dir')))
  236.       $criteria->addAscendingOrderByColumn($column);
  237.     else
  238.       $criteria->addDescendingOrderByColumn($column);
  239.   }
  240.  
  241.  
  242.   public function executeSoapUpdate(sfWebRequest $request)
  243.   {
  244.  
  245.   
  246.  
  247.        
  248.    // if(SF_ENVIRONMENT == 'soap'){
  249.  
  250.         $vlans $request->getParameter('vlans');
  251.  
  252.  
  253.         
  254.         $vlans_names array();
  255.         foreach($vlans as $name=>$vlanInfo){
  256.             $vlans_names[$name;
  257.         }
  258.  
  259.  
  260.  
  261.         $c new Criteria();
  262.         $c->add(EtvaNodePeer::UID ,$request->getParameter('uid'));
  263.  
  264.  
  265.  
  266.         if(!$etva_node EtvaNodePeer::doSelectOne($c)){
  267.             $error_msg sprintf('Object etva_node does not exist (%s).'$request->getParameter('uid'));
  268.             $error array('success'=>false,'errors'=>$error_msg);            
  269.             return $error;
  270.         }
  271.  
  272.        
  273.  
  274.       $etva_vlans EtvaVlanPeer::doSelect(new Criteria());
  275.         // $node_vlans = EtvaVlanPeer::doSelect(new Criteria());
  276.  
  277.  
  278.        
  279.         // return $node_vlans;
  280.         // $result = 'Success';
  281.         $new_vlans =array();
  282.         foreach($etva_vlans as $etva_vlan){
  283.     
  284.             if(!in_array($etva_vlan->getName(),$vlans_names)){
  285.  
  286.  
  287.                     $new_vlans[$etva_vlan->getName()array('name'=>$etva_vlan->getName());
  288.  
  289.             
  290.             }
  291.             
  292.         
  293.             
  294.         }
  295.  
  296.         
  297.         return $new_vlans;
  298.        
  299.     }
  300.  
  301.  
  302.   
  303. }

Documentation generated on Fri, 19 Jun 2009 10:45:55 +0100 by phpDocumentor 1.4.2