Beispiel #1
0
function createXMLForThemeChildNodes($xmlDoc, &$rootNode, $thms) {
  foreach($thms as $thm) {
    if($thm['type'] == 'layer') {
      $attr = array('id' => $thm['id'], 'name' => $thm['name'], 'type' => $thm['layer_type'], 'nid' => $thm['nid']);
      $tNode = addXMLChildNode($xmlDoc, $rootNode, "layer", null, $attr);
    } else {
      $attr = array('type' => $thm['type'], 'id' => $thm['id'], 'name' => $thm['name'], 'icon' => getThemeIconUrl($theme['icon']));
      $tNode = addXMLChildNode($xmlDoc, $rootNode, "theme", null, $attr);
      if(isset($thm['children'])) {
        createXMLForThemeChildNodes($xmlDoc, $tNode, $thm['children']);
      }
    }
  }
}
Beispiel #2
0
function getThemesChildNodes($xmlDoc, &$rootNode, $paramsNode) {
  $theme_id = $paramsNode->getElementsByTagName('theme_id')->item(0)->nodeValue;
  $category_id = $paramsNode->getElementsByTagName('category_id')->item(0)->nodeValue;
  $level = $paramsNode->getElementsByTagName('level')->item(0)->nodeValue;

  if($category_id == null || $category_id == '') {
    $category_id = 0;
  }

  if($level == null || $level == '') {
    $level = 1;
  }

  if($theme_id == null || $theme_id == '') {
    setError($xmlDoc, $rootNode, "Required parameters not set.");
    return;
  } else {
    $thms = _getThemeChildNodes($theme_id, $category_id, $level);
    if($thms === false) {
      setError($xmlDoc, $rootNode, "Error fetching information.");
    } else {
      setNoError($xmlDoc, $rootNode);
      $thmsNode = addXMLChildNode($xmlDoc, $rootNode, "theme", null, array('id' => $theme_id, 'category_id' => $category_id, 'level' => $level));

      if($category_id == 0) {
        $nid = 0;
        $images = '';
        $videos = '';
        $query = 'select nid, images, videos from "Theme" where theme_id = %d';
        $query_args = array($theme_id);
        $result = db_query($query, $query_args);
        if(!$result) {
          return false;
        } else {
          if($obj = db_fetch_object($result)) {
            $nid = $obj->nid;
            $images = array();
            $str = $obj->images;
            if($str != NULL || !empty($str)) {
              $images = explode(",", $str);
            }
            $videos = array();
            $str = $obj->videos;
            if($str != NULL || !empty($str)) {
              $videos = explode(",", $str);
            }
          }
        }
        if($nid > 0) {
          $teaser = getReadMoreDrupalNodeTeaser($nid, 150);
          addXMLChildNode($xmlDoc, $thmsNode, 'narrative', $teaser, array('nid' => $nid));
        }

        $mediaNode = addXMLChildNode($xmlDoc, $thmsNode, 'media');

        $base_path = base_path();

        $imagesNode = addXMLChildNode($xmlDoc, $mediaNode, 'images');
        foreach ($images as $im) {
          addXMLChildNode($xmlDoc, $imagesNode, "image", $im, array('src' => $base_path . 'sites/default/files/images/theme_' . $theme_id . '/' . $im));
        }

        $videosNode = addXMLChildNode($xmlDoc, $mediaNode, 'videos');
        foreach ($videos as $vd) {
          addXMLChildNode($xmlDoc, $videosNode, "video", $vd, array('src' => $base_path . 'sites/default/files/videos/theme_' . $theme_id . '/' . $vd));
        }
      }

      createXMLForThemeChildNodes($xmlDoc, $thmsNode, $thms);
    }
  }
}