| Property Sales & Management Services | ||
Buy in Bulgaria? At Bulgarian Accommodation we offer property for sale in Bulgaria at any Bulgarian ski or summer sun resort or town all over Bulgaria including Borovets, Pamporovo, Bansko, Sofia, Bourgas, Varna, Sunny Beach, Golden Sands, Albena, Sveti Vlas, and Elenite. Our Bulgarian sales approach is unique in that the price you see is the price you pay. You don’t have to add extra commission onto the advertised price. Bulgarian property can differ in price depending on the region of Bulgaria you are looking at. Knowing the right regions to buy property in Bulgaria will make a big difference to your ability to invest wisely especially when you are looking for valuable rental potential, capital growth and the ability to easily resell your property. We offer advice here at Bulgarian Accommodation to ensure you are happy with your Bulgarian investment. When buying property in Bulgaria you will want to know all there is to know about the Bulgarian property market and how to go about buying your ideal property in Bulgaria. To everyone, buying, selling and renting property in Bulgaria is a new and growing marketplace. Our current properties for sale are shown below, or read more about our property management services here |
#!/usr/bin/perl
#
#Make sure that the above line is at the very first line, not
#several lines down, and that it is completely flush with
#the left margin, or your script will not work.
#The first two characters of the first line of your script
#should read #! and should be completely flush with the
#left margin. If this is not the case, then it is likely that
#your web browser tried to convert this text file to a web page
#and reformatted this page, which will make it unusable, an
#error common with MS Internet Explorer. Redownload this file
#as a text file, not an HTML file.
#(c)FLATTEXT Database Scripts 1997-2002
use CGI;
$query = new CGI;
#You need to modify this script at all parts of Step B
#Depending on where Perl is on your server, the above location
#may not be correct. To find where Perl is, telnet to your
#server and at the prompt type: which perl This will tell you
#the correct path to Perl on your server. Or, contact your
#server administrator
#Script Description
#Unique script ID: c97d-xx5e8
#Created on: 7/23/2006
#Last edited on: 7/23/2006
#Script class: E
#You can edit this script on our server any time up to two years
#after it was first created or last edited. The values that you used
#to create this script will be loaded and you can change the
#configurations as needed. Any edits you make to this script offline
#should be marked with comments so that you can easily find them and
#transfer them to any upgraded scripts you create
#See http://flattext.com
#STEP A================================
#SCRIPT USAGE
#This is FLATTEXT 7.0, released March 1, 2002
#COPYRIGHT NOTICE
#FLATTEXT License for Regular Scripts
#All FLATTEXT scripts are copyright (c) FLATTEXT Database
#Scripts, Inc. 1997-2006. Legally, you must retain the copyright
#line inside the script. You are free to remove the printed
#"Search results by FLATTEXT" text that appears inside Step
#L of your script (see below), but under no circumstances
#should the copyright assignment line (above) be removed.
#Each script is licensed for use on a single computer or
#server. Running multiple versions of the same script, or
#continually editing the same script for different uses is
#not permitted. Each implementation of the script requires
#a new license (exceptions to this are those who have
#purchased a Developer License, or those who have made
#separate and written arrangements with us). All scripts
#created by Developer License holders are automatically
#licensed.
#By using any of our scripts, you agree not to hold us
#liable for any lost data, time, or any other costs
#directly or indirectly associated with the use of our product.
#Many of the common problems are addressed in the help
#files at:
#http://flattext.com/help/
#A1. The following lines get and process data passed
#through the URL, do not modify
$stringpassed=$ENV{'QUERY_STRING'};
#A2. Replace all plusses with spaces for data passed via URL
$stringpassed=~s/\+/ /g;
#STEP B================================
#You MUST modify each of the variables in this this section
#B1. REQUIRED: The location of the data file on your server. This must
#be the PATH to your data file, not the URL of your data file! There
#is extensive treatment of this in the Help Pages, under Data File
#Errors: http://flattext.com/help/
$data="datafiles/sales.txt";
#B2. REQUIRED: The URL of this script file in your cgi-bin directory.
#You can provide the full URL, beginning with http:// (or, you can
#simply use the filename, i.e. "database.cgi")
$thisurl="salesdisplay.cgi";
#B3. OPTIONAL: You can format the opening and closing HTML
#of your results page in a separate file that can be written in
#regular HTML and saved on your server. If your script can't
#find this file and open it, the default result screen is displayed
#instead. For ease of configuration, place it in the same directory
#as your data file. Note: this file must have three plusses +++
#where you want your search results inserted. See help file
#under Template Problems: http://flattext.com/help/
#Note, you are providing a full or relative server PATH here. A
#URL will not work.
$openinghtml="../searchtmp.html";
#B4. REQUIRED TO ADD, DELETE, OR MODIFY. See
#important information in the help files about adding additional
#Security features to your script.
#Change password to any combination of letters (A-Z, a-z) and
#numbers 0-1. USE ONLY LETTERS AND NUMBERS
$adminpassword="sharon";
#B5. URL to send users to after posting, editing, or getting errors.
#This is usually the main page for this section of your site
$forwardingURL="../search.html";
#B34. URL to the base image directory for field: Image_1
#When you created your script, you specified that that the field
#Image_1 contained filenames to graphic files stored on your server.
#For these files to be accessible, you need to specify the
#base URL where they can be accessed. The URL should end with a
#forwardslash. For help, see help database at flattext.com/help
$baseurltoImage_1="../clientimages/";
#STEP C================================
#C1. Maximum number of matching records to display per page
$maximumpage=50;
#C2. Maximum total number of records to display per search,
#for stylistic reasons, should be multiple of above number
$maximum=250;
#C3. Minimum number of characters user must search for
$minimumcharacters=0;
#STEP D================================
#You should not need to modify this section at all
#D1. Check to see if opening html file is on server
if (-e "$openinghtml"){
#D2. If so, open it and write opening and closing text to different strings
#to be used throughout the script
$problem="Can't open template file. Make sure you are referencing the file and not just a directory.";
open(OPENING, "$openinghtml") || &security;
@wholefile= Asking Price - $Asking_Price \n";}
print "View Details \n";
print " $problem2\n";
#L8. If opening.htm was found, show its closing html codes
print "$templateend\n";
exit;
#STEP M================================
sub security{
#M1. This is the subroutine that reports all problems
print "HTTP/1.0 200 OK\n";print "Content-type: text/html\n\n";
print "$templatestart\n";
print " \n";
print "Please correct the following error: \n";
print " \n";
print "$templateend\n";
exit;
}
#STEP O================================
sub delete{
#O1. Open data file and read it
$problem="Can't open data file to read from it at delete subroutine";
open (FILE,"$data") || &security;
@all= \n";
($Property_No,$Password,$Property_Name,$Resort,$Asking_Price,$Description,$Image_1,$Image_2,$Image_3,$Image_4,$Image_5,$Image_6,$Sleeps,$Bedrooms,$Bathrooms,$Living_Area,$Kitchen,$Extras,$Nearest_Airport,$Nearest_Ski_Slopes,$Location,$Additional_Info,$skipthisfield)=split (/$delimiter/,$linetokeep);
#O7. Show validation HTML
print " \n";
#If opening.htm was not found, show default closing html codes
print "$templateend\n";
exit;
}
#STEP P================================
sub makechange{
#P1. For each variable, translate it, remove any delimiters that
#user may have accidentally included, replace hard returns with
#HTML line breaks, and delete all carriage returns
#Go to get variable subroutine and make sure add preferences apply
if ($recordaction eq "Edited"){
&getvariables;}
#P2. This step either replaces or empties the existing line
if ($recordaction eq "Deleted"){
$replacementline="";}
else{
$replacementline="$Property_No$delimiter$Password$delimiter$Property_Name$delimiter$Resort$delimiter$Asking_Price$delimiter$Description$delimiter$Image_1$delimiter$Image_2$delimiter$Image_3$delimiter$Image_4$delimiter$Image_5$delimiter$Image_6$delimiter$Sleeps$delimiter$Bedrooms$delimiter$Bathrooms$delimiter$Living_Area$delimiter$Kitchen$delimiter$Extras$delimiter$Nearest_Airport$delimiter$Nearest_Ski_Slopes$delimiter$Location$delimiter$Additional_Info";}
$problem="Can't open data file to read from it";
open (FILE,"$data") || &security;
@all=
\n";
#L4. Display NEXT MATCHES button
if ($stopit eq "Y"){
print "\n";
}
#L6. Show problems
print "\n";
#K4. Keep track of results processed on this page
foreach $line (@keepers){
#K5. Delete stray hard returns
$line=~s/\n//g;
#K6. Keep track of records displayed
$countline1++;
#K7. Decide whether or not this record goes on this page
if ($countline1>$startitem && $countline1<=$enditem){
#K8. Open each line of sorted array for displaying
($sortfield,$loopsaround,$Property_No,$Password,$Property_Name,$Resort,$Asking_Price,$Description,$Image_1,$Image_2,$Image_3,$Image_4,$Image_5,$Image_6,$Sleeps,$Bedrooms,$Bathrooms,$Living_Area,$Kitchen,$Extras,$Nearest_Airport,$Nearest_Ski_Slopes,$Location,$Additional_Info,$skipthisfield)=split (/$delimiter/,$line);
print " \n";
#K15. Assign Table Colors
$darkcolor="#FFFFFF";
$lightcolor="#FFFFFF";
#K16. Check for alternate colors
$test=$colorcount%2;
if ($test==0){
$rowcolor=$darkcolor;}
else{
$rowcolor=$lightcolor;}
$colorcount++;
print " \n";
#K15. Formatting for field Image1. If you add any HTML, make sure you
#put a backslash in front of all quote marks inside print statements
if (!$Image1){
$Image1=" ";
print " \n";
#K18. Check password before showing edit and delete snippets
if ($adminpassword eq $checkpassword || ($actiontotake eq "Useredit" && $checkpassword)){
print " \n";}
else{
print " \n";}
#K15. Formatting for field Property_Name. If you add any HTML, make sure you
#put a backslash in front of all quote marks inside print statements
if (!$Property_Name){
$Property_Name=" ";
print "$Property_Name\n";}
else{
print " $Property_Name -\n";}
#K15. Formatting for field Resort. If you add any HTML, make sure you
#put a backslash in front of all quote marks inside print statements
if (!$Resort){
$Resort=" ";
print "- $Resort\n";}
else{
print " $Resort\n";}
#K15. Formatting for field Short_Description. If you add any HTML, make sure you
#put a backslash in front of all quote marks inside print statements
if (!$Asking_Price){
$Short_Description=" ";
print "$Asking_Price \n";}
else{
print " \n";}
#STEP L================================
#L1. If total displayed equals maximum you set, then exit
if ($countline1 == $maximum && $maximum){
$problem2="Your search was terminated at $maximum records, please be more specific in your search";
last;}
#L2. If script just got to last match then exit program
if ($length1 == $countline1){
last;}
#L3. If script is at the end of a page then show NEXT button
if ($countline1 == $enditem && $displaystat ne "Y" && $maximum>$countline1){
$stopit="Y";
last;
}
}}
print "$problem
\n";
print "$templateend\n";
exit;
}
#STEP N================================
sub edit{
#N1. Open data file and read it
$problem="Can't open data file to read from it at edit subroutine";
open (FILE,"$data") || &security;
@all=
, cut carriage returns
$Property_No=~s/\n/
/g;
$Property_No=~s/\r//g;
if ($Property_No eq "Select"){
$Property_No="";}
#R3. Replace hard returns with
, cut carriage returns
$Password=~s/\n/
/g;
$Password=~s/\r//g;
if ($Password eq "Select"){
$Password="";}
#R3. Replace hard returns with
, cut carriage returns
$Property_Name=~s/\n/
/g;
$Property_Name=~s/\r//g;
if ($Property_Name eq "Select"){
$Property_Name="";}
#R3. Replace hard returns with
, cut carriage returns
$Resort=~s/\n/
/g;
$Resort=~s/\r//g;
if ($Resort eq "Select"){
$Resort="";}
#R3. Replace hard returns with
, cut carriage returns
$Asking_Price=~s/\n/
/g;
$Asking_Price=~s/\r//g;
if ($Asking_Price eq "Select"){
$Asking_Price="";}
#R3. Replace hard returns with
, cut carriage returns
$Description=~s/\n/
/g;
$Description=~s/\r//g;
if ($Description eq "Select"){
$Description="";}
#R3. Replace hard returns with
, cut carriage returns
$Image_1=~s/\n/
/g;
$Image_1=~s/\r//g;
if ($Image_1 eq "Select"){
$Image_1="";}
#R3. Replace hard returns with
, cut carriage returns
$Image_2=~s/\n/
/g;
$Image_2=~s/\r//g;
if ($Image_2 eq "Select"){
$Image_2="";}
#R3. Replace hard returns with
, cut carriage returns
$Image_3=~s/\n/
/g;
$Image_3=~s/\r//g;
if ($Image_3 eq "Select"){
$Image_3="";}
#R3. Replace hard returns with
, cut carriage returns
$Image_4=~s/\n/
/g;
$Image_4=~s/\r//g;
if ($Image_4 eq "Select"){
$Image_4="";}
#R3. Replace hard returns with
, cut carriage returns
$Image_5=~s/\n/
/g;
$Image_5=~s/\r//g;
if ($Image_5 eq "Select"){
$Image_5="";}
#R3. Replace hard returns with
, cut carriage returns
$Image_6=~s/\n/
/g;
$Image_6=~s/\r//g;
if ($Image_6 eq "Select"){
$Image_6="";}
#R3. Replace hard returns with
, cut carriage returns
$Sleeps=~s/\n/
/g;
$Sleeps=~s/\r//g;
if ($Sleeps eq "Select"){
$Sleeps="";}
#R3. Replace hard returns with
, cut carriage returns
$Bedrooms=~s/\n/
/g;
$Bedrooms=~s/\r//g;
if ($Bedrooms eq "Select"){
$Bedrooms="";}
#R3. Replace hard returns with
, cut carriage returns
$Bathrooms=~s/\n/
/g;
$Bathrooms=~s/\r//g;
if ($Bathrooms eq "Select"){
$Bathrooms="";}
#R3. Replace hard returns with
, cut carriage returns
$Living_Area=~s/\n/
/g;
$Living_Area=~s/\r//g;
if ($Living_Area eq "Select"){
$Living_Area="";}
#R3. Replace hard returns with
, cut carriage returns
$Kitchen=~s/\n/
/g;
$Kitchen=~s/\r//g;
if ($Kitchen eq "Select"){
$Kitchen="";}
#R3. Replace hard returns with
, cut carriage returns
$Extras=~s/\n/
/g;
$Extras=~s/\r//g;
if ($Extras eq "Select"){
$Extras="";}
#R3. Replace hard returns with
, cut carriage returns
$Nearest_Airport=~s/\n/
/g;
$Nearest_Airport=~s/\r//g;
if ($Nearest_Airport eq "Select"){
$Nearest_Airport="";}
#R3. Replace hard returns with
, cut carriage returns
$Nearest_Ski_Slopes=~s/\n/
/g;
$Nearest_Ski_Slopes=~s/\r//g;
if ($Nearest_Ski_Slopes eq "Select"){
$Nearest_Ski_Slopes="";}
#R3. Replace hard returns with
, cut carriage returns
$Location=~s/\n/
/g;
$Location=~s/\r//g;
if ($Location eq "Select"){
$Location="";}
#R3. Replace hard returns with
, cut carriage returns
$Additional_Info=~s/\n/
/g;
$Additional_Info=~s/\r//g;
if ($Additional_Info eq "Select"){
$Additional_Info="";}
#R4. You have marked Password as a field that must contain at least 6
#non-blank characters before allowing the field to be added. You can change the
#requirement below, or comment out all 6 lines below step to skip validation
$Passwordcheck=$Password;
$Passwordcheck=~s/ +/ /g;
$Passwordcheck=length($Passwordcheck);
if ($Passwordcheck<6){
$problem="Please press back on your browser and provide more information for the Password field.";
&security;}
}
#This is the last line of the script