= 7){ return $project_array; } } $category_id = parent_id($category_id); } return $project_array; } function print_project_array ($project_array){ global $PHP_SELF; $keys = array_keys($project_array); $len = count($keys); echo "
"; for($i = 0; $i < $len; $i++){ printf("%s
", $PHP_SELF, $project_array[$keys[$i]], $keys[$i]); } echo "
"; } function print_strip ($project_array){ global $PHP_SELF; $keys = array_keys($project_array); $len = count($keys); printf(""); for($i = 0; $i < $len; $i++){ $sql = sprintf("SELECT * FROM projects WHERE id=%s", $project_array[$keys[$i]]); $result = mysql_query($sql); $myrow = mysql_fetch_array($result); if($myrow["thumbs"]){ $thumb_array = explode(",",$myrow["thumbs"]); $thumbs = $thumb_array[0]; $description = asset_description($thumbs); $names[$i] = $myrow["name"]; $ids[$i] = $myrow["id"]; if($description) printf("\n", $PHP_SELF, $myrow["id"], asset_url($thumbs), $description); else printf("\n", $PHP_SELF, $myrow["id"], asset_url($thumbs)); /* printf("\n", $PHP_SELF, $myrow["id"], asset_url($thumbs), $myrow["name"]);*/ } } printf(""); for($i = 0; $i < $len; $i++){ printf("", $PHP_SELF, $ids[$i], $names[$i]); } printf("
\"%s\"
%s
"); } function print_thumb_strip ($thumbs, $gallery_id, $projects){ global $PHP_SELF; $thumb_array = explode(",",$thumbs); $gallery_thumb = array_shift($thumb_array); $len = count($thumb_array); $logo_id = 26; $project_array = explode(",",$projects); $project_id = $project_array[0]; $project_thumb = element_field($project_id, 'projects', 'thumbs'); printf(""); printf("\n", asset_url($logo_id)); printf("\n", asset_url($project_thumb)); for($i = 0; $i < $len; $i++){ printf("\n", asset_url($thumb_array[$i])); } printf("\n", $PHP_SELF); printf("\n", element_name($project_id, 'projects')); for($i = 0; $i < $len; $i++){ printf("\n", element_name($thumb_array[$i], 'assets')); } printf("
", $PHP_SELF); printf("", $PHP_SELF, $project_id); printf("", $PHP_SELF, $gallery_id, $i); printf("
ImageBeat", $PHP_SELF, $project_id); printf("%s", $PHP_SELF, $gallery_id, $i); printf("%s
"); } // build associative array of ancestors of a category // key is category name, value is category id function category_array_hierarchy ($category_id){ while($category_id != "0"){ $name = element_name($category_id, 'categories'); if(strpos('X' . $name,"_") != 1) $result_array[$name] = $category_id; $category_id = parent_id($category_id); } return $result_array; } // takes list of category ids and builds $result_array // by getting path to root from category_array_hierarchy() // for each category, and merging arrays with common root // storing each merged array with root as key function category_array ($category_list){ $category_array = explode(", ", $category_list); $len = count($category_array); for($i = 0; $i < $len; $i++){ $cat = $category_array[$i]; $tmp_array = category_array_hierarchy($cat); if(!$tmp_array) continue; asort($tmp_array); $keys = array_keys($tmp_array); $root = $keys[0]; if($result_array && $result_array[$root]){ $tmp_array = array_merge($result_array[$root],$tmp_array); } $result_array[$root] = $tmp_array; } return $result_array; } // build an array of a category and it's children // key is category name, value is category id function category_subtree ($category_id){ $result_array[element_name($category_id,'categories')] = $category_id; $sql = sprintf("SELECT * FROM categories WHERE category=%s", $category_id); $result = mysql_query($sql); while ($myrow = mysql_fetch_array($result)) { $name = $myrow["name"]; if(strpos('X' . $name,"_") != 1) $result_array[$name] = $myrow["id"]; } return $result_array; } // recursive. test for child to end recursion function category_subtree2 ($category_id){ //get all children $sql = sprintf("SELECT * FROM categories WHERE category=%s", $category_id); $result = mysql_query($sql); if(!mysql_num_rows($result)){ // no children //$result_array[element_name($category_id,'categories')] = $category_id; $result_array["leaf"] = element_name($category_id,'categories'); return $result_array; //return $category_id; } while ($myrow = mysql_fetch_array($result)) { //recurse for every child $child_array[] = category_subtree2($myrow["id"]); } $result_array[element_name($category_id,'categories')] = $child_array; return $result_array; } function insert_pages ($pages){ $page_array = explode(",", $pages); $len = count($page_array); for($i = 0; $i < $len; $i++) include(asset_url($page_array[$i])); } function print_category_array ($array) { $keys = array_keys($array); $len = count($keys); printf("categories:
"); for($i = 0; $i < $len; $i++){ $key = $keys[$i]; $value = $array[$key]; if($value){ print_category_navbar($value); printf("
"); } } printf("
"); } function collapse_category_subtree ($array) { static $result; $keys = array_keys($array); $len = count($keys); for($i = 0; $i < $len; $i++){ $key = $keys[$i]; $value = $array[$key]; if(!$value) continue; //printf("key: %s, value: %s
\n", $key, $value); if(is_array($value)){ if(is_string($key)){ $id = cat_id($key); if($id) $result[$id] = 1; } //$result = array_merge($result, collapse_category_subtree($value)); $result = $result + collapse_category_subtree($value); } elseif(is_string($value)) $result[cat_id($value)] = 1; else $result[$value] = 1; } return $result; } function print_category_subtree ($array) { $keys = array_keys($array); $len = count($keys); printf("
"); for($i = 0; $i < $len; $i++){ if($array[$keys[$i]]){ print_category_navbar2($array[$keys[$i]]); printf("
"); } } printf("
"); } function print_category_navbar2 ($array) { global $PHP_SELF; global $category_id; $keys = array_keys($array); $len = count($keys); for($i = 0; $i < $len; $i++){ $key = $keys[$i]; $value = $array[$keys[$i]]; if(is_array($value)){ if(is_string($key) && strpos('X' . $key, "_") != 1 && cat_id($key) != $category_id){ printf("%s
", $PHP_SELF, cat_id($key), $key); } else{ printf("
"); } print_category_navbar2($value); printf("
"); } elseif(strpos('X' . $value, "_") != 1){ if(cat_id($value) != $category_id) printf("%s
", $PHP_SELF, cat_id($value), $value); } } } // $array in which keys are category names, values are category ids function print_category_navbar ($array) { global $PHP_SELF; $keys = array_keys($array); $len = count($keys); if($len >= 1){ printf("%s
", $PHP_SELF, $array[$keys[0]], $keys[0]); for($i = 1; $i < $len; $i++) printf("%s
", $PHP_SELF, $array[$keys[$i]], $keys[$i]); printf("
"); } } function insert_doc_links ($docs){ $docs_array = explode(",", $docs); $len = count($docs_array); for($i = 0; $i < $len; $i++){ $url = asset_url($docs_array[$i]); echo "
"; printf("", $url); if(strpos($url, ".pdf")) printf(""); printf("%s, %s
", element_field ($docs_array[$i], 'assets', 'authors'), asset_description($docs_array[$i])); echo "
"; } } function print_link_navbar ($links) { $links_array = explode(",", $links); $len = count($links_array); echo "links:
"; for($i = 0; $i < $len; $i++){ $url = asset_url($links_array[$i]); printf("", $url); if(strpos($url, ".pdf")) printf(""); printf("%s
", element_name($links_array[$i], 'assets')); } echo "
"; } function print_project_links_no_image (){ global $PHP_SELF; //echo "
"; $result = mysql_query("SELECT * FROM projects ORDER BY date1 DESC"); while ($myrow = mysql_fetch_array($result)) { if(!$myrow["thumbs"]) printf("%s
\n", $PHP_SELF, $myrow["id"], $myrow["name"]); } //echo "
"; } function insert_category_content ($category_id){ $result = mysql_query("SELECT * FROM categories WHERE id = $category_id"); $myrow = mysql_fetch_array($result); if($myrow["description"]) printf("

 

%s", $myrow["description"]); } // the page starts here !! include ("php/.meta.php"); $db = @mysql_connect($hostName, $userName, $password) or die("Unable to connect to host $hostName"); mysql_select_db($dbName, $db) or die( "Unable to select database $dbName"); if($category_id){ //$project_array = build_project_array($category_id); } else{ if(!$id) $id = 10; // ImageBeat $result = mysql_query("SELECT * FROM projects WHERE id=$id",$db); $myrow = mysql_fetch_array($result); $name = $myrow["name"]; $description = $myrow["description"]; $date1 = $myrow["date1"]; $authors = $myrow["authors"]; $categories = $myrow["categories"]; $thumbs = $myrow["thumbs"]; $pages = $myrow["pages"]; $docs = $myrow["docs"]; $links = $myrow["links"]; $link1 = asset_url($links); $images = $myrow["images"]; $projects = $myrow["projects"]; $textures = $myrow["textures"]; // check for gallery if($categories == 4){ if(!isset($gid)) $gid = 0; $gallery_id = $id; } if($projects) $project_array = build_project_array2($projects); else $project_array = build_project_array0(29); $project_array = remove_project($project_array, $id); } printf(""); ?> ImageBeat - %s\n", $title); ?> "; echo ""; } elseif($category_id){ printf("
ImageBeat category:
%s
\n", $title); echo ""; echo ""; } ?>
%s\n", $name); if($gallery_id){ printf("
%s
\n", element_name($image_array[$gid], 'assets')); } else{ printf("
%s
\n", $description); } printf("
"); if($authors) printf("%s", $authors); if($date1 && $date1 != 0) printf(", %s", $date1); printf("

\n"); echo "
"; if($id != 11){ if($categories){ // print category list $cat_array = category_array($categories); if($cat_array) print_category_array($cat_array); } } echo "

"; if($links) print_link_navbar($links); if($id == 10) printf("

"); if($id != 11){ echo "

"; print_project_links_no_image(); } if($gallery_id){ } elseif($images){ echo "

"; $image_array = explode(",",$images); $imagefile = asset_url($image_array[0]); echo(""); $description = asset_description($image_array[0]); if($description) print('

'); if($link1) printf("", $link1); printf("", $imagefile); if($link1) echo ""; if($description) printf("
%s
", $description); $len = count($image_array); if($len > 1){ for($i = 1; $i < $len; $i++){ printf("

"); $description = asset_description($image_array[$i]); if($description) print('

'); printf("", asset_url($image_array[$i])); if($description) printf("
%s
", $description); printf("

"); } } } echo "
"; $subtree = category_subtree2($category_id); if($subtree){ echo " 

"; print_category_navbar2($subtree); $cat_array = collapse_category_subtree($subtree); $project_array = build_project_array1($cat_array); if($project_array){ echo "

related projects:
"; print_project_array($project_array); } } echo "

"; print_project_links_no_image(); echo "

"; $imagefile = asset_url($image_array[$gid]); $description = asset_description($image_array[$gid]); printf("", $imagefile); if($description) printf("
%s
", $description); } else echo "

 

 

 

 

 

"; if($docs) insert_doc_links($docs); ?>
ImageBeat • ",$PHP_SELF); printf("web • ", $PHP_SELF); printf("media • ", $PHP_SELF); printf("software", $PHP_SELF); ?>

Copyright © Jonathan Helfman, ImageBeat Design, 2000-2004.