Example #1
0
 public function showChildsAction()
 {
     $optionArray = array();
     $webRoot = $this->view->baseUrl();
     if (Needs_Roles::hasAccess(Zend_Registry::get('user')->getIdRole(), 'adaugare_rol')) {
         $optionArray['addSubLink'] = $webRoot . '/role/add/id/';
         $optionArray['subName'] = 'subrol';
     }
     if (Needs_Roles::hasAccess(Zend_Registry::get('user')->getIdRole(), 'editare_rol')) {
         $optionArray['editLink'] = $webRoot . '/role/edit/id/';
     }
     if (Needs_Roles::hasAccess(Zend_Registry::get('user')->getIdRole(), 'stergere_rol')) {
         $optionArray['deleteLink'] = $webRoot . '/role/delete/id/';
     }
     $response = '';
     $id = $this->getRequest()->getParam('id');
     $parent = $this->getRequest()->getParam('parent');
     $role = new Default_Model_Role();
     $role->find($id);
     //if first, show parent node
     $showParent = $parent == 'true' ? true : false;
     $graph = new Needs_Graph($role, $showParent, array('idParent', 'id', 'name'), 'object', true);
     $childRoles = $graph->getTree();
     if ($childRoles) {
         $last = count($childRoles) - 1;
         $response .= "<div class='show-users'>";
         foreach ($childRoles as $key => $value) {
             $first = $value->getId() == Zend_Registry::get('user')->getIdRole() ? true : false;
             $paddingFirst = !$first ? '20px' : '0';
             $isFirst = $key == 0 ? 'first' : '';
             $isLast = $last == $key ? 'last' : '';
             $hasChild = Needs_Graph::hasChild($value) && !$first ? true : false;
             $afterLinks = '';
             if ($hasChild) {
                 $afterLinks .= "\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t<a id='jsColapse-{$value->getId()}' class='jsColapse' rel='{$value->getId()}' href='javascript:;' title='Colapse'></a>\t\t\t\t\t\t\t\n\t\t\t\t\t";
             }
             $afterLinks .= "<a class='user-info listingItem roleListing' href='javascript:;' rel='{$value->getId()}' title='Informatii'></a>";
             if (!empty($optionArray['addSubLink'])) {
                 $afterLinks .= '<a class="user-add-child" href="' . $optionArray['addSubLink'] . $value->getId() . '" title="Adauga ' . $optionArray['subName'] . '"></a>';
             }
             if (!empty($optionArray['editLink']) && Zend_Registry::get('user')->getIdRole() != $value->getId()) {
                 $afterLinks .= ' <a class="user-edit" href="' . $optionArray['editLink'] . $value->getId() . '" title = "Editare"></a>';
             }
             if (!empty($optionArray['deleteLink']) && Zend_Registry::get('user')->getIdRole() != $value->getId()) {
                 $afterLinks .= ' <a class="user-delete confirmDelete" href="' . $optionArray['deleteLink'] . $value->getId() . '" title="Stergere"></a>';
             }
             $response .= "<div id='user-{$value->getId()}' class='user {$isFirst} {$isLast} listingDiv' style='margin-left: {$paddingFirst}'>\n\t\t\t\t\t\t\t<a class='listingItem roleListing fl' href='javascript:;' rel='{$value->getId()}'>{$value->getName()}</a>\t\n\t\t\t\t\t\t\t<div class='fr'>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t<div class='user-actions'>\n\t\t\t\t\t\t\t\t\t{$afterLinks}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t ";
             $response .= "\n\t\t\t\t\t\t<div class='clear'></div>\n\t\t\t\t\t";
             $response .= "\n\t\t\t\t\t</div>\n\t\t\t\t\t";
             if ($hasChild) {
                 $response .= "<div class='child-element' id='load-child-{$value->getId()}'></div>";
             }
         }
         $response .= '</div>';
     }
     echo Zend_Json_Encoder::encode($response);
 }