403Webshell
Server IP : 195.130.67.5  /  Your IP : 216.73.217.154
Web Server : Microsoft-IIS/10.0
System : Windows NT WEBSERVER1 10.0 build 17763 (Windows Server 2016) i586
User : IUSR ( 0)
PHP Version : 7.4.19
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /Old Sites/dastafiles/admin/lib/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /Old Sites/dastafiles/admin/lib/fetch-functions.php
<?php

function get_countries() {
	$countries=callService("GetCountries", "GET"); 
	$countriesObj=json_decode($countries);

	if(!$countriesObj->ErrorCode) {
		$no_new=0;
		
		foreach($countriesObj->Result as $var => $value) {
			$id=$value->ID;
			$name=$value->Name;

			$countries_exists=mysql_num_rows(mysql_query("SELECT * FROM ".DB_PREFIX."countries WHERE id='".$id."'"));

			if($countries_exists) continue;
			mysql_query("INSERT INTO ".DB_PREFIX."countries (id, name) VALUES ('".$id."', '".$name."')");

			if(mysql_affected_rows()) $no_new++;
		}
	}

	return $no_new;
}

function get_prefectures() {
	$prefectures=callService("GetPrefectures", "GET"); 
	$prefecturesObj=json_decode($prefectures);

	if(!$prefecturesObj->ErrorCode) {
		$no_new=0;

		foreach($prefecturesObj->Result as $var => $value) {
			$id=$value->ID;
			$name=$value->Name;
			
			$prefecture_exists=mysql_num_rows(mysql_query("SELECT * FROM ".DB_PREFIX."prefectures WHERE id='".$id."'"));

			if($prefecture_exists) continue;
			mysql_query("INSERT INTO ".DB_PREFIX."prefectures (id, name) VALUES ('".$id."', '".$name."')");

			if(mysql_affected_rows()) $no_new++;
		}
	}

	return $no_new;
}

function get_cities() {
	$cities=callService("GetCities", "GET"); 
	$citiesObj=json_decode($cities);

	if(!$citiesObj->ErrorCode) {
		$no_new=0;
		
		foreach($citiesObj->Result as $var => $value) {
			$id=$value->ID;
			$name=$value->Name;
			$prefecture_id=$value->PrefectureID;

			$cities_exists=mysql_num_rows(mysql_query("SELECT * FROM ".DB_PREFIX."cities WHERE id='".$id."'"));

			if($cities_exists) continue;
			mysql_query("INSERT INTO ".DB_PREFIX."cities (id, name, prefecture_id) VALUES ('".$id."', '".$name."', '".$prefecture_id."')");
			
			if(mysql_affected_rows()) $no_new++;
		}
	}

	return $no_new;
}

function get_institutions() {
	$institutions=callService("GetInstitutions", "GET"); 
	$institutionsObj=json_decode($institutions);

	if(!$institutionsObj->ErrorCode) {
		$no_new=0;
		
		foreach($institutionsObj->Result as $var => $value) {
			$id=$value->ID;
			$name=$value->Name;
			$name_in_latin=$value->NameInLatin;
			
			$institution_exists=mysql_num_rows(mysql_query("SELECT * FROM ".DB_PREFIX."institutions WHERE id='".$id."'"));

			if($institution_exists) continue;
			mysql_query("INSERT INTO ".DB_PREFIX."institutions (id, name, name_in_latin) VALUES ('".$id."', '".$name."', '".$name_in_latin."')");
			
			if(mysql_affected_rows()) $no_new++;
		}
	}

	return $no_new;
}

function get_academics() {
	$academics=callService("GetAcademics", "GET"); 
	$academicsObj=json_decode($academics);

	if(!$academicsObj->ErrorCode) {
		$no_new=0;
		
		foreach($academicsObj->Result as $var => $value) {
			$id=$value->ID;
			$department=$value->Department;
			$school=$value->School;
			$institution_id=$value->InstitutionID;
			$is_active=$value->IsActive;

			$academics_exists=mysql_num_rows(mysql_query("SELECT * FROM ".DB_PREFIX."academics WHERE id='".$id."'"));

			if($academics_exists) continue;
			mysql_query("INSERT INTO ".DB_PREFIX."academics (id, department, school, institution_id, is_active) VALUES ('".$id."', '".$department."', '".$school."', '".$institution_id."', '".$is_active."')");

			if(mysql_affected_rows()) $no_new++;
		}
	}

	return $no_new;
}

function get_physical_objects() {
	$physicalobjects=callService("GetPhysicalObjects", "GET"); 
	$physicalobjectsObj=json_decode($physicalobjects);

	if(!$physicalobjectsObj->ErrorCode) {
		$no_new=0;
		
		foreach($physicalobjectsObj->Result as $var => $value) {
			$id=$value->ID;
			$name=$value->Name;
			
			$physicalobject_exists=mysql_num_rows(mysql_query("SELECT * FROM ".DB_PREFIX."physical_objects WHERE id='".$id."'"));

			if($physicalobject_exists) continue;
			mysql_query("INSERT INTO ".DB_PREFIX."physical_objects (id, name) VALUES ('".$id."', '".$name."')");
			
			if(mysql_affected_rows()) $no_new++;
		}
	}

	return $no_new;
}

function get_registered_students() {
	$no_of_registered_users=mysql_num_rows(mysql_query("SELECT * FROM ".DB_PREFIX."registered_students"));
	
	$registeredstudents=callService("GetRegisteredStudents", "POST", "{\"Skip\":".$no_of_registered_users.",}"); 
	$registeredstudentsObj=json_decode($registeredstudents);

	if(!$registeredstudentsObj->ErrorCode) {
		$no_new=0;

		foreach($registeredstudentsObj->Result as $var => $value) {
			$id=$value->ID;
			$greek_first_name=$value->GreekFirstName;
			$greek_last_name=$value->GreekLastName;
			$is_name_latin=$value->IsNameLatin;
			$latin_first_name=$value->LatinFirstName;
			$latin_last_name=$value->LatinLastName;
			$system_first_name=$value->SystemFirstName;
			$system_last_name=$value->SystemLastName;
			$academic_id_number=$value->AcademicIDNumber;
			$principal_user_name=$value->PrincipalUserName;
			$student_number=$value->StudentNumber;
			$academic_id=$value->Academic->ID;
			$is_active=$value->IsActive;

			$registered_student_exists=mysql_num_rows(mysql_query("SELECT * FROM ".DB_PREFIX."registered_students WHERE id='".$id."'"));

			if($registered_student_exists) continue;
			mysql_query("INSERT INTO ".DB_PREFIX."registered_students (id, greek_first_name, greek_last_name, is_name_latin, latin_first_name, latin_last_name, system_first_name, system_last_name, academic_id_number, principal_user_name, student_number, academic_id, is_active) VALUES ('".$id."', '".$greek_first_name."', '".$greek_last_name."', '".$is_name_latin."', '".$latin_first_name."', '".$latin_last_name."', '".$system_first_name."', '".$system_last_name."', '".$academic_id_number."', '".$principal_user_name."', '".$student_number."', '".$academic_id."', '".$is_active."')");
			
			if(mysql_affected_rows()) $no_new++;
		}
	}

	return $no_new;
}

function get_provider_details($id_provider) {
	$providerdetails=callService("GetProviderDetails?ID=".$id_provider, "GET"); 
	$providerdetailsObj=json_decode($providerdetails);

	$no_new=0;

	if(!$providerdetailsObj->ErrorCode) {
		$id=$providerdetailsObj->Result->ID;
		$name=$providerdetailsObj->Result->Name;
		$afm=$providerdetailsObj->Result->AFM;
		$contact_name=$providerdetailsObj->Result->ContactName;
		$contact_phone=$providerdetailsObj->Result->ContactPhone;
		$contact_email=$providerdetailsObj->Result->ContactEmail;
		

		$provider_exists=mysql_num_rows(mysql_query("SELECT * FROM ".DB_PREFIX."providers WHERE id='".$id."'"));

		if($provider_exists) return 0;
		mysql_query("INSERT INTO ".DB_PREFIX."providers (id, name, afm, contact_name, contact_phone, contact_email) VALUES ('".$id."', '".$name."', '".$afm."', '".$contact_name."', '".$contact_phone."', '".$contact_email."')");
		
		if(mysql_affected_rows()) $no_new++;
	}
	
	if($providerdetailsObj) return $providerdetailsObj;
	else return $no_new;
}

function get_available_position_groups() {
	$no_of_available_position_groups=mysql_num_rows(mysql_query("SELECT * FROM ".DB_PREFIX."available_position_groups"));

	$availablepositiongroups=callService("GetAvailablePositionGroups", "POST", "{\"Skip\":".$no_of_available_position_groups."}"); 
	$availablepositiongroupsObj=json_decode($availablepositiongroups);

	if(!$availablepositiongroupsObj->ErrorCode) {
		$no_new=0;
		
		$availablepositiongroupsObjPairs=$availablepositiongroupsObj->Result;
		foreach($availablepositiongroupsObjPairs->Pairs as $var => $value) {
			$position_group_id=$value->PositionGroupID;
			$position_group_last_update=no_null_date($value->PositionGroupLastUpdate);
			$provider_id=$value->ProviderID;
			$provider_last_update=no_null_date($value->ProviderLastUpdate);

			$available_position_group_exists=mysql_num_rows(mysql_query("SELECT * FROM ".DB_PREFIX."available_position_groups WHERE position_group_id='".$position_group_id."'"));

			if($available_position_group_exists) continue;
			mysql_query("INSERT INTO ".DB_PREFIX."available_position_groups (position_group_id, position_group_last_update, provider_id, provider_last_update) VALUES ('".$position_group_id."', '".$position_group_last_update."', '".$provider_id."', '".$provider_last_update."')");

			$no_new++;
			get_position_group_details($position_group_id);
		}
	}
	
	return $no_new;
}

function get_position_group_details($id_position_group) {
	$positiongroupdetails=callService("GetPositionGroupDetails?ID=".$id_position_group, "GET"); 
	$positiongroupdetailsObj=json_decode($positiongroupdetails);

	$no_new=0;

	if(!$positiongroupdetailsObj->ErrorCode) {
		$id=$positiongroupdetailsObj->Result->ID;
		$title=$positiongroupdetailsObj->Result->Title;
		$description=$positiongroupdetailsObj->Result->Description;
		$position_type=$positiongroupdetailsObj->Result->PositionType;
		$available_positions=$positiongroupdetailsObj->Result->AvailablePositions;
		$duration=$positiongroupdetailsObj->Result->Duration;
		
		$start_date=no_null_date($positiongroupdetailsObj->Result->StartDate);
		$end_date=no_null_date($positiongroupdetailsObj->Result->EndDate);
		$has_time_limit=$positiongroupdetailsObj->Result->HasTimeLimit;
		$time_limit=$positiongroupdetailsObj->Result->TimeLimit;
		$is_available_to_all_academics=$positiongroupdetailsObj->Result->IsAvailableToAllAcademics;
		$provider_id=$positiongroupdetailsObj->Result->ProviderID;
		$country_id=$positiongroupdetailsObj->Result->CountryID;
		$prefecture_id=$positiongroupdetailsObj->Result->PrefectureID;

		$position_group_exists=mysql_num_rows(mysql_query("SELECT * FROM ".DB_PREFIX."position_groups WHERE id='".$id_position_group."'"));

		if($position_group_exists) return;
		mysql_query("INSERT INTO ".DB_PREFIX."position_groups (id, title, description, position_type, available_positions, duration, start_date, end_date, has_time_limit, time_limit, is_available_to_all_academics, provider_id, country_id, prefecture_id) VALUES ('".$id."', '".$title."', '".$description."', '".$position_type."', '".$available_positions."', '".$duration."', '".$start_date."', '".$end_date."', '".$has_time_limit."', '".$time_limit."', '".$is_available_to_all_academics."', '".$provider_id."', '".$country_id."', '".$prefecture_id."')");
		
		if(mysql_affected_rows()) $no_new++;

		if($positiongroupdetailsObj->Result->Academics) foreach($positiongroupdetailsObj->Result->Academics as $var => $value) {
			$academic_id=$value->ID;
			
			$position_group_to_academic_exists=mysql_num_rows(mysql_query("SELECT * FROM ".DB_PREFIX."position_groups_to_academics WHERE id_position_group='".$id."' AND id_academic='".$academic_id."'"));

			if($position_group_to_academic_exists) continue;
			mysql_query("INSERT INTO ".DB_PREFIX."position_groups_to_academics (id_position_group, id_academic) VALUES ('".$id_position_group."', '".$academic_id."')");
		}
		
		foreach($positiongroupdetailsObj->Result->PhysicalObjects as $var => $value) {
			$physical_object_id=mysql_fetch_array(mysql_query("SELECT * FROM ".DB_PREFIX."physical_objects WHERE name='".$value."'"));
			$id_physical_object=$physical_object_id["id"];
			
			$position_group_to_physical_object_exists=mysql_num_rows(mysql_query("SELECT * FROM ".DB_PREFIX."position_groups_to_physical_objects WHERE id_position_group='".$id."' AND id_physical_object='".$id_physical_object."'"));

			if($position_group_to_physical_object_exists) continue;
			mysql_query("INSERT INTO ".DB_PREFIX."position_groups_to_physical_objects (id_position_group, id_physical_object) VALUES ('".$id_position_group."', '".$id_physical_object."')");
		}
		
		get_provider_details($provider_id);
	}
	
	return $no_new;
}

function get_pre_assigned_positions() {
	$no_of_pre_assigned_positions=mysql_num_rows(mysql_query("SELECT * FROM ".DB_PREFIX."positions WHERE pre_assigned_at<>'0000-00-00 00:00:00'"));
	
	$preassignedpositions=callService("GetPreAssignedPositions", "POST", "{\"Skip\":".$no_of_pre_assigned_positions."}"); 
	$preassignedpositionsObj=json_decode($preassignedpositions);

	if(!$preassignedpositionsObj->ErrorCode) {
		$no_new=0;
		
		foreach($preassignedpositionsObj->Result as $var => $value) {
			$id=$value->ID;
			$group_id=$value->GroupID;
			$days_left_for_assignment=$value->DaysLeftForAssignment;
			$pre_assigned_at=no_null_date($value->PreAssignedAt); 
			$pre_assigned_for_academic_id=$value->PreAssignedForAcademic->ID;
			$cancellation_reason=$value->CancellationReason;
			$position_status=$value->PositionStatus;

			$pre_assigned_position_exists=mysql_num_rows(mysql_query("SELECT * FROM ".DB_PREFIX."positions WHERE id='".$id."'"));

			if($pre_assigned_position_exists) continue;
			mysql_query("INSERT INTO ".DB_PREFIX."positions (id, group_id, days_left_for_assignment, pre_assigned_at, pre_assigned_for_academic_id, cancellation_reason, position_status) VALUES ('".$id."', '".$group_id."', '".$days_left_for_assignment."', '".$pre_assigned_at."', '".$pre_assigned_for_academic_id."', '".$cancellation_reason."', '".$position_status."')");
			
			if(mysql_affected_rows()) $no_new++;
			
			get_position_group_details($group_id);
		}
	}

	return $no_new;
}

function get_assigned_positions() {
	$no_of_assigned_positions=mysql_num_rows(mysql_query("SELECT * FROM ".DB_PREFIX."positions WHERE assigned_at<>'0000-00-00 00:00:00'"));
	
	$assignedpositions=callService("GetAssignedPositions", "POST", "{\"Skip\":".$no_of_assigned_positions."}"); 
	$assignedpositionsObj=json_decode($assignedpositions);

	if(!$assignedpositionsObj->ErrorCode) {
		$no_new=0;
		
		foreach($assignedpositionsObj->Result as $var => $value) {
			$id=$value->ID;
			$group_id=$value->GroupID;
			$days_left_for_assignment=$value->DaysLeftForAssignment;
			$pre_assigned_at=no_null_date($value->PreAssignedAt); 
			$pre_assigned_for_academic_id=$value->PreAssignedForAcademic->ID;
			$assigned_at=no_null_date($value->AssignedAt);
			$assigned_student_id=$value->AssignedStudent->ID;
			$implementation_start_date=no_null_date($value->ImplementationStartDate);
			$implementation_end_date=no_null_date($value->ImplementationEndDate);
			$cancellation_reason=$value->CancellationReason;
			$position_status=$value->PositionStatus;

			$assigned_position_exists=mysql_num_rows(mysql_query("SELECT * FROM ".DB_PREFIX."positions WHERE id='".$id."' AND assigned_at<>'0000-00-00 00:00:00'"));

			if($assigned_position_exists) continue;

			$assigned_position_exists_as_preassigned=mysql_num_rows(mysql_query("SELECT * FROM ".DB_PREFIX."positions WHERE id='".$id."' AND pre_assigned_at<>'0000-00-00 00:00:00'"));

			if($assigned_position_exists_as_preassigned) mysql_query("UPDATE ".DB_PREFIX."positions SET assigned_at='".$assigned_at."', assigned_student_id='".$assigned_student_id."', implementation_start_date='".$implementation_start_date."', implementation_end_date='".$implementation_end_date."', cancellation_reason='".$cancellation_reason."', position_status='".$position_status."' WHERE id='".$id."'");
			
			else mysql_query("INSERT INTO ".DB_PREFIX."positions (id, group_id, days_left_for_assignment, pre_assigned_at, pre_assigned_for_academic_id, cancellation_reason, position_status, assigned_at, assigned_student_id, implementation_start_date, implementation_end_date) VALUES ('".$id."', '".$group_id."', '".$days_left_for_assignment."', '".$pre_assigned_at."', '".$pre_assigned_for_academic_id."', '".$cancellation_reason."', '".$position_status."', '".$assigned_at."', '".$assigned_student_id."', '".$implementation_start_date."', '".$implementation_end_date."')");
			
			if(mysql_affected_rows()) $no_new++;
		}
	}

	return $no_new;
}

function get_completed_positions() {
	$no_of_completed_positions=mysql_num_rows(mysql_query("SELECT * FROM ".DB_PREFIX."positions WHERE completed_at<>'0000-00-00 00:00:00'"));
	
	$completedpositions=callService("GetCompletedPositions", "POST", "{\"Skip\":".$no_of_completed_positions."}"); 
	$completedpositionsObj=json_decode($completedpositions);

	if(!$completedpositionsObj->ErrorCode) {
		$no_new=0;
		
		foreach($completedpositionsObj->Result as $var => $value) {
			$id=$value->ID;
			$completed_at=no_null_date($value->CompletedAt);
			$completion_comments=$value->CompletionComments;
			$cancellation_reason=$value->CancellationReason;
			$position_status=$value->PositionStatus;
			$group_id=$value->GroupID;
			$days_left_for_assignment=$value->DaysLeftForAssignment;
			$pre_assigned_at=no_null_date($value->PreAssignedAt); 
			$pre_assigned_for_academic_id=$value->PreAssignedForAcademic->ID;
			$assigned_at=no_null_date($value->AssignedAt);
			$assigned_student_id=$value->AssignedStudent->ID;
			$implementation_start_date=no_null_date($value->ImplementationStartDate);
			$implementation_end_date=no_null_date($value->ImplementationEndDate);

			$completed_position_exists=mysql_num_rows(mysql_query("SELECT * FROM ".DB_PREFIX."positions WHERE id='".$id."' AND completed_at<>'0000-00-00 00:00:00'"));

			if($completed_position_exists) continue;

			$completed_position_exists_as_assigned_or_pre_assigned=mysql_num_rows(mysql_query("SELECT * FROM ".DB_PREFIX."positions WHERE id='".$id."' AND (assigned_at<>'0000-00-00 00:00:00' OR pre_assigned_at<>'0000-00-00 00:00:00')"));
			
			if($completed_position_exists_as_assigned) mysql_query("UPDATE ".DB_PREFIX."positions SET completed_at='".$completed_at."', completion_comments='".$completion_comments."', cancellation_reason='".$cancellation_reason."', position_status='".$position_status."' WHERE id='".$id."'");
			
			else mysql_query("INSERT INTO ".DB_PREFIX."positions (id, group_id, days_left_for_assignment, pre_assigned_at, pre_assigned_for_academic_id, cancellation_reason, position_status, assigned_at, assigned_student_id, implementation_start_date, implementation_end_date, completed_at, completion_comments) VALUES ('".$id."', '".$group_id."', '".$days_left_for_assignment."', '".$pre_assigned_at."', '".$pre_assigned_for_academic_id."', '".$cancellation_reason."', '".$position_status."', '".$assigned_at."', '".$assigned_student_id."', '".$implementation_start_date."', '".$implementation_end_date."', '".$completed_at."', '".$completion_comments."')");
			
			if(mysql_affected_rows()) $no_new++;
		}
	}

	return $no_new;
}

function register_new_student($academic_id_number) {
	$response=callService("RegisterNewStudent", "POST", "{\"AcademicIDNumber\":".$academic_id_number."}");
	$responseObj=json_decode($response);
	if(!$responseObj->ErrorCode) $no_new=1;
	else $no_new=0;
	
	return $no_new;
}

function find_student_with_academic_id_number($academic_id_number) {
	$response=callService("FindStudentWithAcademicIDNumber", "POST", "{\"AcademicIDNumber\":".$academic_id_number."}");
	$responseObj=json_decode($response);

	if(!$responseObj->ErrorCode) return $responseObj;
	else return 0;
}

function find_academic_id_number($academic_id, $student_number) {
	$response=callService("FindAcademicIDNumber", "POST", "{\"AcademicID\":".$academic_id.", \"StudentNumber\":".$student_number."}");
	$responseObj=json_decode($response);

	if(!$responseObj->ErrorCode) return $responseObj;
	else return 0;
}

function get_student_details_id($value, $type) {
	# $type μπορεί να είναι studentID, AcademicIDNumber, PrincipalName, StudentNumber, AcademicID
	$response=callService("GetStudentDetails?".$type."=".$value, "GET"); 
	$responseObj=json_decode($response);

	if(!$responseObj->ErrorCode) return $responseObj;
	else return 0;
}

function get_providers_by_afm($afm) {
	$response=callService("GetProvidersByAFM?AFM=".$afm, "GET"); 
	$responseObj=json_decode($response);

	$no_new=0;

	if(!$responseObj->ErrorCode) {
		$id=$responseObj->Result[0]->ID;
		$name=$responseObj->Result[0]->Name;
		$afm=$responseObj->Result[0]->AFM;
		$contact_name=$responseObj->Result[0]->ContactName;
		$contact_phone=$responseObj->Result[0]->ContactPhone;
		$contact_email=$responseObj->Result[0]->ContactEmail;
		

		$provider_exists=mysql_num_rows(mysql_query("SELECT * FROM ".DB_PREFIX."providers WHERE id='".$id."'"));

		if($provider_exists) return $responseObj;
		mysql_query("INSERT INTO ".DB_PREFIX."providers (id, name, afm, contact_name, contact_phone, contact_email) VALUES ('".$id."', '".$name."', '".$afm."', '".$contact_name."', '".$contact_phone."', '".$contact_email."')");
		
		if(mysql_affected_rows()) $no_new++;
	}
	
	if($responseObj) return $responseObj;
	else return $no_new;
}

function update_student($id, $academic_id_number) {
	$response=callService("UpdateStudent", "POST", "{\"ID\":".$id.", \"AcademicIDNumber\":".$academic_id_number."}");
	$responseObj=json_decode($response);

	if(!$responseObj->ErrorCode) $no_new=1;
	else $no_new=0;

	return $no_new;
}

function pre_assign_positions($academic_id, $group_id, $number_of_positions) {
	$response=callService("PreAssignPositions", "POST", "{\"AcademicID\":".$academic_id.", \"GroupID\":".$group_id.", \"NumberOfPositions\":".$number_of_positions."}");
	$responseObj=json_decode($response);

	if(!$responseObj->ErrorCode) $no_new=1;
	else $no_new=0;

	return $no_new;
}

function rollback_pre_assignment($position_id) {
	# Γίνεται αποδέσμευση προδεσμευμένης θέσης από το ίδρυμα.
	$response=callService("RollbackPreAssignment", "POST", "{\"PositionID\":".$position_id."}");
	$responseObj=json_decode($response);

	if(!$responseObj->ErrorCode) $no_new=1;
	else $no_new=0;

	return $no_new;
}

function rollback_pre_assignment_info($position_id) {
	# Δε γίνεται αποδέσμευση θέσης. Απλώς ο χρήστης ενημερώνεται για την ποινή σε περίπτωση που θέλει να κάνει αποδέσμευση θέσης.
	$response=callService("RollbackPreAssignment/info", "POST", "{\"PositionID\":".$position_id."}");
	$responseObj=json_decode($response);

	if(!$responseObj->ErrorCode) $no_new=$responseObj->Result;
	else $no_new=0;

	return $no_new;
}

function delete_assignment($position_id) {
	# Γίνεται ακύρωση αντιστοίχισης θέσης σε φοιτητή.
	$response=callService("DeleteAssignment", "POST", "{\"PositionID\":".$position_id."}");
	$responseObj=json_decode($response);

	if(!$responseObj->ErrorCode) $no_new=1;
	else $no_new=0;

	return $no_new;
}

function delete_assignment_info($position_id) {
	# Δε γίνεται ακύρωση αντιστοίχισης θέσης σε φοιτητή. Απλώς ο χρήστης ενημερώνεται για την ποινή σε περίπτωση που θέλει να κάνει ακύρωση αντιστοίχισης θέσης.
	$response=callService("DeleteAssignment/info", "POST", "{\"PositionID\":".$position_id."}");
	$responseObj=json_decode($response);

	if(!$responseObj->ErrorCode) $no_new=$responseObj->Result;
	else $no_new=0;

	return $no_new;
}

function cancel_position($position_id, $cancellation_reason) {
	$response=callService("CancelPosition", "POST", "{\"PositionID\":".$position_id.", \"CancellationReason\":\"".$cancellation_reason."\"}");
	$responseObj=json_decode($response);

	if(!$responseObj->ErrorCode) $no_new=1;
	else $no_new=0;

	return $no_new;
}

function assign_student($position_id, $student_id, $implementation_start_date, $implementation_end_date) {
	$response=callService("AssignStudent", "POST", "{\"PositionID\":".$position_id.", \"StudentID\":".$student_id.", \"ImplementationStartDate\":\"".$implementation_start_date."\", \"ImplementationEndDate\":\"".$implementation_end_date."\"}");
	$responseObj=json_decode($response);

	if(!$responseObj->ErrorCode) $no_new=1;
	else $no_new=0;
	
	return $no_new;
}

function change_implementation_data($position_id, $implementation_start_date, $implementation_end_date) {
	# Αλλάζει ημερομηνίες εκτέλεσης (έναρξης και λήξης) για μια θέση πρακτικής άσκησης που έχει ήδη ανατεθεί
	$response=callService("ChangeImplementationData", "POST", "{\"PositionID\":".$position_id.", \"ImplementationStartDate\":\"".$implementation_start_date."\", \"ImplementationEndDate\":\"".$implementation_end_date."\"}");
	$responseObj=json_decode($response);

	if(!$responseObj->ErrorCode) $no_new=1;
	else $no_new=0;
	
	return $no_new;
}

function change_assigned_student($position_id, $student_id) {
	# Αλλάζει την ανάθεση μιας θέσης και την πάει σε άλλον φοιτητή
	$response=callService("ChangeAssignedStudent", "POST", "{\"PositionID\":".$position_id.", \"StudentID\":".$student_id."}");
	$responseObj=json_decode($response);

	if(!$responseObj->ErrorCode) $no_new=1;
	else $no_new=0;
	
	return $no_new;
}

function complete_position($position_id, $completion_comments, $implementation_start_date, $implementation_end_date) {
	# Δήλωση ολοκλήρωσης μιας θέσεως πρακτικής άσκησης. Πρέπει οι ημερομηνίες έναρξης και λήξης της να είναι περασμένες
	$response=callService("CompletePosition", "POST", "{\"PositionID\":".$position_id.", \"CompletionComments\":\"".$completion_comments."\", \"ImplementationStartDate\":\"".$implementation_start_date."\", \"ImplementationEndDate\":\"".$implementation_end_date."\"}");
	$responseObj=json_decode($response);

	if(!$responseObj->ErrorCode) $no_new=1;
	else $no_new=0;
	
	return $no_new;
}

function register_finished_position($city_id, $completion_comments, $contact_phone, $country_id, $description, $duration, $implementation_start_date, $implementation_end_date, $physical_objects_id, $position_type_int, $prefecture_id, $provider_id, $student_id, $supervisor, $supervisor_email, $title) {
	# Εγγραφή μιας ολοκληρωμένης θέσης εκτός του συστήματος ΑΤΛΑΣ
	$response=callService("RegisterFinishedPosition", "POST", "{\"CityID\":".$city_id.", \"CompletionComments\":\"".$completion_comments."\", \"ContactPhone\":\"".$contact_phone."\", \"CountryID\":".$country_id.", \"Description\":\"".$description."\", \"Duration\":".$duration.", \"ImplementationStartDate\":\"".$implementation_start_date."\", \"ImplementationEndDate\":\"".$implementation_end_date."\", \"PhysicalObjectsID\":".$physical_objects_id.", \"PositionTypeInt\":".$position_type_int.", \"PrefectureID\":".$prefecture_id.", \"ProviderID\":".$provider_id.", \"StudentID\":".$student_id.", \"Supervisor\":\"".$supervisor."\", \"SupervisorEmail\":\"".$supervisor_email."\", \"Title\":\"".$title."\"}");
	
	get_provider_details($provider_id);
	
	$responseObj=json_decode($response);

	if(!$responseObj->ErrorCode) $no_new=1;
	else $no_new=0;
	
	return $no_new;
}

function delete_finished_position($position_id) {
	# Διαγραφή μιας ολοκληρωμένης θέσης εκτός ΑΤΛΑΝΤΑ
	$response=callService("DeleteFinishedPosition", "POST", "{\"PositionID\":".$position_id."}");
	$responseObj=json_decode($response);

	if(!$responseObj->ErrorCode) $no_new=1;
	else $no_new=0;
	
	return $no_new;
}

function get_finished_positions($skip=NULL, $take=NULL) {
	# Λαμβάνει όλες τις ολοκληρωμένες θέσεις που καταχωρήθηκαν εκ των υστέρων εκτός ΑΤΛΑΝΤΑ
	// $response=callService("GetFinishedPositions?".($skip ? "Skip=".$skip : "").($skip&&$take? "&" : "").($take ? "Take=".$take : ""), "POST"); 
	// $responseObj=json_decode($response);

	
	$no_of_finished_positions=mysql_num_rows(mysql_query("SELECT * FROM ".DB_PREFIX."finished_positions"));

	$finishedpositions=callService("GetFinishedPositions", "POST", "{\"Skip\":".$no_of_finished_positions."}"); 
	$finishedpositionsObj=json_decode($finishedpositions);

	if(!$finishedpositionsObj->ErrorCode) {
		$no_new=0;
		
		foreach($finishedpositionsObj->Result as $var => $value) {
			$id=$value->ID;
			$title=$value->Title;
			$description=$value->Description;
			$position_type_int=$value->PositionTypeInt;
			$duration=$value->Duration;
			$implementation_start_date=no_null_date($value->ImplementationStartDate);
			$implementation_end_date=no_null_date($value->ImplementationEndDate);
			$provider_id=$value->ProviderID;
			$country_id=$value->CountryID;
			$prefecture_id=$value->PrefectureID;
			$city_id=$value->CityID;
			$student_id=$value->StudentID;
			$completion_comments=$value->CompletionComments;

			$supervisor=$value->Supervisor;
			$supervisor_email=$value->SupervisorEmail;
			$contact_phone=$value->ContactPhone;
	

			$finished_position_exists=mysql_num_rows(mysql_query("SELECT * FROM ".DB_PREFIX."finished_positions WHERE id='".$id."'"));

			if($finished_position_exists) continue;

			mysql_query("INSERT INTO ".DB_PREFIX."finished_positions (id, title, description, position_type_int, duration, implementation_start_date, implementation_end_date, provider_id, country_id, prefecture_id, city_id, student_id, completion_comments, supervisor, supervisor_email, contact_phone) VALUES ('".$id."', '".$title."', '".$description."', '".$position_type_int."', '".$duration."', '".$implementation_start_date."', '".$implementation_end_date."', '".$provider_id."', '".$country_id."', '".$prefecture_id."', '".$city_id."', '".$student_id."', '".$completion_comments."', '".$supervisor."', '".$supervisor_email."', '".$contact_phone."')");
			
			
			foreach($value->PhysicalObjectsID as $new_var => $new_value) mysql_query("INSERT INTO ".DB_PREFIX."finished_positions_to_physical_objects (id_finished_position, id_physical_object) VALUES ('".$id."', '".$new_value."')");
			

			if(mysql_affected_rows()) $no_new++;
		}
	}

	return $no_new;
}

?>

Youez - 2016 - github.com/yon3zu
LinuXploit