Ejemplo n.º 1
0
 /**
  * Obtain the list of category_packages from SugarDepot
  * @return category_packages
  */
 function getCategoryPackages($category_id = '', $filter = array())
 {
     $results = PackageManagerComm::getCategoryPackages($category_id, $filter);
     PackageManagerComm::errorCheck();
     $nodes = array();
     $nodes[$category_id]['packages'] = array();
     if (!empty($results['categories'])) {
         foreach ($results['categories'] as $category) {
             $mycat = PackageManager::fromNameValueList($category);
             $nodes[$mycat['id']] = array('id' => $mycat['id'], 'label' => $mycat['name'], 'description' => $mycat['description'], 'type' => 'cat', 'parent' => $mycat['parent_id']);
             $nodes[$mycat['id']]['packages'] = array();
         }
     }
     if (!empty($results['packages'])) {
         $uh = new UpgradeHistory();
         foreach ($results['packages'] as $package) {
             $mypack = PackageManager::fromNameValueList($package);
             $nodes[$mypack['category_id']]['packages'][$mypack['id']] = array('id' => $mypack['id'], 'label' => $mypack['name'], 'description' => $mypack['description'], 'category_id' => $mypack['category_id'], 'type' => 'package');
             $releases = PackageManager::getReleases($category_id, $mypack['id'], $filter);
             $arr_releases = array();
             $nodes[$mypack['category_id']]['packages'][$mypack['id']]['releases'] = array();
             if (!empty($releases['packages'])) {
                 foreach ($releases['packages'] as $release) {
                     $myrelease = PackageManager::fromNameValueList($release);
                     //check to see if we already this one installed
                     $result = $uh->determineIfUpgrade($myrelease['id_name'], $myrelease['version']);
                     $enable = false;
                     if ($result == true || is_array($result)) {
                         $enable = true;
                     }
                     $nodes[$mypack['category_id']]['packages'][$mypack['id']]['releases'][$myrelease['id']] = array('id' => $myrelease['id'], 'version' => $myrelease['version'], 'label' => $myrelease['description'], 'category_id' => $mypack['category_id'], 'package_id' => $mypack['id'], 'type' => 'release', 'enable' => $enable);
                 }
             }
             //array_push($nodes[$mypack['category_id']]['packages'], $package_arr);
         }
     }
     $GLOBALS['log']->debug("NODES" . var_export($nodes, true));
     return $nodes;
 }