Add helper for tree views and use it

This commit is contained in:
Eike Foken
2011-04-21 20:45:38 +02:00
parent 52cd81eace
commit c4c7988b5d
3 changed files with 24 additions and 14 deletions

View File

@@ -6,19 +6,23 @@ class Projects extends CI_Controller {
* List all projects the user has access to.
*/
public function getAvailable() {
$this->load->model('Project');
$this->load->model('project');
$this->load->helper('tree');
$path = $this->input->get_post('node');
switch($path) {
case '/projects/own':
$projects = $this->Project->getOwn();
$projects = $this->project->getOwn();
array_walk($projects, 'set_tree_icons', base_url() . 'assets/images/icons/document.png');
break;
case '/projects/shared':
$projects = $this->Project->getShared();
$projects = $this->project->getShared();
array_walk($projects, 'set_tree_icons', base_url() . 'assets/images/icons/document.png');
break;
case '/projects/public':
$projects = $this->Project->getPublic();
$projects = $this->project->getPublic();
array_walk($projects, 'set_tree_icons', base_url() . 'assets/images/icons/document.png');
break;
default:
$projects = array(

View File

@@ -0,0 +1,9 @@
<?php defined('BASEPATH') || exit("No direct script access allowed");
if (!function_exists('set_tree_icons')) {
function set_tree_icons(&$value, $key, $icon) {
if (isset($value['text']) && !isset($value['icon'])) {
$value['icon'] = $icon;
}
}
}

View File

@@ -1,7 +1,7 @@
<?php
class Project extends CI_Model {
public function getOwn() {
$query = $this->db->where(array('owner' => '215cd70f310ae6ae'))
->order_by('lastaccess', 'desc')
@@ -15,18 +15,17 @@ class Project extends CI_Model {
$ownProjects[$i]['cls'] = 'folder';
$ownProjects[$i]['text'] = $project['name'];
$ownProjects[$i]['leaf'] = true;
$ownProjects[$i]['icon'] = "/ScattPort/assets/images/icons/document.png";
$i++;
}
return $ownProjects;
}
public function getShared() {
$this->db->select('*')->from('shares')->order_by('lastaccess', 'desc')->where(array('user_id' => '215cd70f310ae6ae'));
$this->db->join('projects', 'projects.id = shares.project_id');
$query = $this->db->get();
$projects = $query->result_array();
$sharedCount = $query->num_rows();
@@ -36,13 +35,12 @@ class Project extends CI_Model {
$sharedProjects[$i]['cls'] = 'folder';
$sharedProjects[$i]['text'] = $project['name'];
$sharedProjects[$i]['leaf'] = true;
$sharedProjects[$i]['icon'] = "/ScattPort/assets/images/icons/document.png";
$i++;
}
return $sharedProjects;
}
public function getPublic() {
$query = $this->db->where(array('public' => '1'))
->order_by('name', 'asc')
@@ -56,10 +54,9 @@ class Project extends CI_Model {
$publicProjects[$i]['cls'] = 'folder';
$publicProjects[$i]['text'] = $project['name'];
$publicProjects[$i]['leaf'] = true;
$publicProjects[$i]['icon'] = "/ScattPort/assets/images/icons/document.png";
$i++;
}
return $publicProjects;
}
}