$nid); $network->set_params($params); $net = $network->get(); //network not found then redirect to error page if (!$net) { Logger::log("Thowing Exception NETWORK_NOT_FOUND"); throw new PAException(NETWORK_NOT_FOUND,"Network not found"); } // if user is not owner of network then redirect to error page $user_type = Network::get_user_type($net[0]->network_id,$_SESSION['user']['id']); if ( $user_type != OWNER ) { Logger::log("Thowing Exception USER_ACCESS_DENIED"); throw new PAException(USER_ACCESS_DENIED,"Edit permissions denied"); } } else { Logger::log("Thowing Exception NETWORK_NOT_FOUND"); throw new PAException(NETWORK_NOT_FOUND,"Network not found"); } //if we come this far we can load network settings $net = $net[0]; $field_values['network_name'] = trim(stripslashes($net->name)); $redirect_url = $field_values['network_url'] = trim(stripslashes($net->address)); $field_values['network_tagline'] = trim(stripslashes($net->tagline)); $field_values['network_description'] = trim(stripslashes($net->description)); $field_values['header_image'] = trim(stripslashes($net->header_image)); $field_values['inner_logo_image'] = trim(stripslashes($net->inner_logo_image)); $field_values['network_alt_text'] = trim(stripslashes($net->network_alt_text)); $field_values['extra'] = unserialize($net->extra); $tags = Tag::load_tags_for_network($nid); $tag_str = ''; for($i=0;$icategory_id; $field_values['stop_after_limit'] = $net->stop_after_limit; } $step = ($_REQUEST['step']) ? $_REQUEST['step'] : 1; if ( $step!=1 && $step!=2 ) { Logger::log("Thowing Exception NETWORK_INVALID_STEP"); throw new PAException(NETWORK_INVALID_STEP,"Invalid url"); } $setting_data = ModuleSetting::load_setting(PAGE_CREATE_NETWORK, $uid); $leftModulesFromDB = $setting_data['left']; $middleModulesFromDB = $setting_data['middle']; $rightModulesFromDB = $setting_data['right']; $page = & new Template(CURRENT_THEME_FSPATH."/groups.tpl"); $page->set('current_theme_path', $current_theme_path); $page->set('base_url', $base_url); //header of group page $header = & new Template(CURRENT_THEME_FSPATH."/header.tpl"); $header->set('current_theme_path', $current_theme_path); $header->set('current_theme_rel_path', $current_theme_rel_path); // find navigation link for header $navigation = new Navigation; $navigation_links = $navigation->get_links(); $header->set('navigation_links', $navigation_links); $header->set('base_url', $base_url); $header->set('onload', $onload); if ($network_info) { $header->set_object('network_info', $network_info); } // This block of code has to be removed when this page will be rendered using PageRenderer. $top_navigation_bar = & new Template(CURRENT_THEME_FSPATH."/top_navigation_bar.tpl"); $top_navigation_bar->set('navigation_links', $navigation_links); $error_array = array(); if($_POST) { /* Function for Filtering the POST data Array */ filter_all_post($_POST); $field_values['network_name'] = trim($_POST['network_name']); $field_values['network_url'] = strtolower(trim($_POST['network_url'])); $field_values['network_tagline'] = trim($_POST['network_tagline']); $field_values['network_description'] = trim($_POST['network_description']); $field_values['extra'] = $_POST['extra']; $extra = serialize($field_values['extra']); $field_values['network_category'] = $_POST['network_category']; $field_values['network_tags'] = $_POST['network_tags']; $field_values['stop_after_limit'] = $_POST['stop_after_limit']; $field_values['network_alt_text'] = $_POST['network_alt_text']; if ($step==1) { if(empty($field_values['network_name'])) { $error_array['network_name'] = "Network name is empty or contains some illegal characters."; } else if(strlen($field_values['network_name']) < 4) { $error_array['network_name'] = "Network name can not have less than 4 characters"; } else if(strlen($field_values['network_name']) > 30) { $error_array['network_name'] = "Network name can not have more than 30 characters"; } if (!$nid) { if(empty($field_values['network_url'])) { $error_array['network_url'] = "Please provide the network address"; } else if(strlen($field_values['network_url']) < 3) { $error_array['network_url'] = "Network address can not have less than 4 characters"; } else if(strlen($field_values['network_url']) > 15) { $error_array['network_url'] = "Network address can not have more than 10 characters"; } else if ( !Validation::validate_alpha_numeric($field_values['network_url']) ) { $error_array['network_url'] = "Network address can not contain non alpha numeric characters"; } else if (in_array($field_values['network_url'],$invalid_network_address)) { $error_array['network_url'] = "Special subdomain names like ftp, mail, smtp, pop etc. are not allowed in network address."; } } if(empty($field_values['network_tagline'])) { $error_array['network_tagline'] = "Please enter your network's tagline"; } if(empty($field_values['network_description'])) { $error_array['network_description'] = "Please enter description of network"; } if(empty($field_values['network_alt_text'])) { $error_array['network_alt_text'] = "Please enter network ID Alt Text"; } }// __end__ step1 if(count($error_array) == 0) { /* Uploading the network image */ if (!empty($_FILES['network_image']['name'])) { $uploadfile = $uploaddir.basename($_FILES['network_image']['name']); $myUploadobj = new FileUploader; //creating instance of file. $image_type = 'image'; $file = $myUploadobj->upload_file($uploaddir,'network_image',true,true,$image_type); if( $file == false) { $msg = $myUploadobj->error; $error_array['network_image'] = "Unable to upload Network Image"; } else { $field_values['network_image'] = $file; } } else { //image hidden $field_values['header_image'] = $field_values['network_image'] = trim($_POST['header_image']); } /* Uploading the network image inner logo */ if (!empty($_FILES['network_inner_logo_image']['name'])) { $uploadfile = $uploaddir.basename($_FILES['network_inner_logo_image']['name']); $myUploadobj = new FileUploader; //creating instance of file. $image_type = 'image'; $file = $myUploadobj->upload_file($uploaddir,'network_inner_logo_image',true,true,$image_type); if( $file == false) { $msg = $myUploadobj->error; $error_array['network_image'] = "Unable to upload Network inner logo Image"; } else { $field_values['network_inner_logo_image'] = $file; } } else { //image hidden $field_values['inner_logo_image'] = $field_values['network_inner_logo_image'] = trim($_POST['inner_logo_image']); } /* Check for Existing Network URL*/ if (!$nid) { if(Network::check_already ($field_values['network_url'])) { $error_array['network_url'] = "This Network address has already been taken"; } } /* Creating the param array & saving the betwork */ if(count($error_array) == 0) { if ( $step==1 ) { $data_array = array( 'user_id' => $_SESSION['user']['id'], 'name' => strip_tags($field_values['network_name']),// strip_tags function is used to avoid disturbance through the use of HTML tags like
'address' => $field_values['network_url'], 'tagline' => strip_tags($field_values['network_tagline']), 'description' => $field_values['network_description'], 'header_image' => $field_values['network_image'], 'inner_logo_image' => $field_values['network_inner_logo_image'], 'network_alt_text' => $field_values['network_alt_text'], 'changed' => time(), 'type' => NETWORK_TYPE_PUBLIC, 'category_id' => DEFAULT_NETWORK_CATEGORY ); } else if ($step==2) { $data_array = array( 'category_id' => $field_values['network_category'], 'user_id' => $_SESSION['user']['id'], 'stop_after_limit' => $field_values['stop_after_limit'], 'tags'=> $field_values['network_tags'], 'changed' => time(), 'type' => NETWORK_TYPE_PUBLIC, 'extra' => $extra ); } if ( $nid ) { $id = array('network_id'=>$nid); $data_array = array_merge($data_array,$id); unset($data_array['address']); } $network = new Network; $network->set_params($data_array); try { $nid = $_REQUEST['nid'] = $network->save(); if ( $step == 1 ) { $location = "http://".$field_values['network_url'].'.'.$domain_suffix.BASE_URL_REL.'/create_network.php?nid='.$nid.'&step=2'; } else if ( $step == 2 ) { if (!empty($data_array['tags'])) { $tags = Tag::split_tags($data_array['tags']); Tag::add_tags_to_network($nid, $tags); } else { Tag::delete_tags_for_network($nid); } $location = "http://".$redirect_url.'.'.$domain_suffix.BASE_URL_REL.'/homepage.php'; } header("location:".$location);exit; $msg = 'Network has been successfully created'; $suc = 1; } catch (PAException $e) { die($e->message); $msg = $e->message; //FIX ME generates exception in step2 } } } } $_REQUEST = stripslashes_deep($_REQUEST); $_POST = stripslashes_deep($_POST); $field_values = stripslashes_deep($field_values); if (is_array($field_values)) { $field_values = array_map('fix_quotes',$field_values); } //left of group page foreach ( $leftModulesFromDB as $leftModule) { $file = "BlockModules/$leftModule/$leftModule.php"; require_once $file; $obj = new $leftModule; $array_left_modules[] = $obj->render(); } //middle of group page if (!empty($msg)) { $msg_tpl = & new Template(CURRENT_THEME_FSPATH."/display_message.tpl"); $msg_tpl->set('message', $msg); $array_middle_modules[] = $msg_tpl->fetch(); } foreach ( $middleModulesFromDB as $middleModule) { $file = "BlockModules/$middleModule/$middleModule.php"; require_once $file; $obj = new $middleModule; $obj->error_array = $error_array; $obj->field_values = $field_values; $obj->nid = $nid; $obj->step = $step; $obj->Paging["page"] = $paging["page"]; $obj->Paging["show"] = $paging["show"]; $array_middle_modules[] = $obj->render(); } //right of group page foreach ( $rightModulesFromDB as $rightModule) { $file = "BlockModules/$rightModule/$rightModule.php"; if ( $rightModule == 'RecentNetworksModule' ) { $obj->mode = PRI; $obj->block_type = HOMEPAGE_SORTBY; } require_once $file; $obj = new $rightModule; $array_right_modules[] = $obj->render(); } $footer = & new Template(CURRENT_THEME_FSPATH."/footer.tpl"); $footer->set('current_theme_path', $current_theme_path); //page settings $page->set('top_navigation_bar', $top_navigation_bar); $page->set('header', $header); $page->set('array_left_modules', $array_left_modules); $page->set('array_middle_modules', $array_middle_modules); $page->set('array_right_modules', $array_right_modules); $page->set('footer', $footer); $page->set('current_theme_path', $current_theme_path); echo $page->fetch(); function stripslashes_deep($value) { $value = is_array($value) ? array_map('stripslashes_deep', $value) : stripslashes($value); return $value; } function fix_quotes($value){ $value = str_replace('"','"',$value); return $value; } ?>