Blog Entry: 3/25/2006 4:45:51 PM
Chris:
Quick question. I'm currently using navigation style 1 which
keeps everything within the 1 window. I'd like to take the text
descriptions and place them under the main photo when it is
displayed. Before i modify anything, I'd like to check if I'm in
the right neighborhood first. It looks like I need to:
- modify the behaviour of the 'onmouseover' function in the file 'view_album_style_1.asp'
- add in a few lines of code to take
FixStr(UserArray1(PicIndex - 1),"PrepareForJavaScript"), put it into a
text string and do a response.write under (or over) the photo in
question.
Question Part 2 -- if i wanted to use the first line of the description as a title could I:
- add in an input to the photo upload
- concatenate the 2 strings together (title and description)
- display the title under the thumbs
- bold the display of the title over the large version of the image.
Pretty complicated questions, but I'm coming along nicely (IMHO). Have a look at
http://www.iphotosite.com/galleryapp/default.asp
I really like the progress that I've been able to make with this app without really spending a huge amount of time.
Kurt
,
The reason is obvious, the file is called aspprotectlogin.aspx. It is self advertising for your product which is against the law for me to do on a government support website such as mine. Every other login system I have come across uses the login.aspx file. If I can’t change it I will file with the credit card company and return your product. I do like your product and hope to stay one of your customers. I will let you know, thanks for your help.
,
I believe what happened is we received the older copy of ASP Banner iwht our purchase of ASP Protect and were notified of a free update to download aspbanner_unlimited_v8.2_feb_26_2005.zip which we did, and that's the one i recently put on our site.
Sounds from your reply that something technical is going on to the point where I will have to hire one of our Web consutants to dissect for us. We'll try again and track our issues and send another request for information when we can show you a specific example of what is happening. I'll be in touch.
, I am an experienced ASP developer. Can you tell me whether this would be a very involved process, or whether it is pretty straightforward? I don't yet have a merchant account, so I am not yet familiar with any aspect of accepting credit cards online.
Thanks.
, Yes, thats cool.. post it here for sure.
Also, the way you allowed for your search engine is clever and probably was the easiest way to go.
You could do the same thing with the IP. Much easieri than the way I was thinking of doing it.
, We can't seem to find the purchase emails for this install of ASPProtect.
It would have been in May 2004 for NetOptions LLC or CareerMatrix.com
We noticed it should have been v6 of ASPProtect.
Can you resend the download links?
, if you use either of those options the mail server info you use must of course be valid (example: mail.somesite.com) your host can provide that info
you should also make sure your sending the emails using an account at your email server.. not some other email you have
other than that if it does not send emails it could be because your hosting company may require authentication for outgoing emails...
ask them ...
if that is the case the version of ASPBanner you have does not support sending email that way and you would need to add the necessary code to any places that send email... in order for emailing to work
, and the permissions, how exactly were they set ?
I find a lot of customers think they are setting permissions correctly when they really are not. That's why I wrote that long article on the subject.
As you probably know a data connection is a very low level thing. It is the foundation of any ASP application that communicates with a database. Unfortunatly it sometimes takes a while to get the hang of setting them up without issue.
Everything must be perfect.. the ODBC drivers must be up to date, folder permission are critical, sometimes you must use a new version of the access database.. etc etc etc The errors and things that happen when all these things are not perfect and not helpful as you have found out.
I would suggest you download and get ASPTest from CJWSoft running before you go any further. It is designed to be as simple as possible and helps get a hang of the database setup process.
, I really do not know for sure, but I imagine there are customers using their windows hosting. Usually I do not know what hosting company a customer uses and I am usualy the only one that responds to forum questions.
Why not download the current Free lite version and try it out ?
CJW
, you do not run "check_user_inc.asp" by itself
Pages you protect include that file at the top.. when they someone goes to a protected page if not logged in a user then sees a login prompt..
after loggin in they see that same page as normal
its an automated process..
now, that being said if you really want to you a specify a page to be redirected to after the 1st login when you edit a users info. You can also redirect anyone anywhere like using a simple ASP redirect statement in your code.
Personally I feel that redirecting people all over the place is poor site design. ASP is all about dynamic code and ASPProtect is all about dynamically tailoring pages to the current logged in users... so why redirect people all over the place.. it justs complicates things because you still need to password protect the places you send them to.... which means twice the work and twice the confusion.
Also, here is a Version 6 thread about redirecting manually that still applies to version 7.
http://support.cjwsoft.com/code/moreinfo17-1.htm
, did anyone find a way to get the descriptions to show under the image yet?
, you dont want to use the virtual smtp virtual server method... you want to use a real remote email server with valid MX records..
ultimately though after all that is going is it is out of the hands of the asp code and it becomes issues other then the code sending the email... regarding to whether or not emails get blocked by certain organizations
For example:
I have many aol users sign up for various systems I have running without issue. I use CDOSYS with my own server mail.cjwsoft.com which has proper MX records set up.
I would also try to determine the difference between blocking and spam/junk email filtering. It is impoirtant to truly know what is going on.
Sometimes adding more information to the body of the emails going out will eliminate the junk mail filters from gettings the emails.
Then you have the various open relay lists that places like AOL use. If your email server or IP sending the email is on those lists for spamming you do not stand a chance. That is all out of the hands of the ASP code.
, Sounds great, Sold!
Thanks Christopher!
, 
ASPProtect v7.x runs on Microsoft IIS servers only.
That means Windows XP Pro, Windows 2000 server and Windows 2003 server. The web server must have ASP support enabled and support Data Connections. 99% of them do as it's a pretty normal thing, but you should ask and make sure your hosting plan supports it.
Before you even start please read this thread and do what it says.
If any errors show up it is important you see the real error instead of a useless HTTP 500 internal server error.
http://support.cjwsoft.com/forum/forum_posts.asp?TID=11& PN=1
Once doing that make sure to use Internet Explorer as you follow along with these directions.
Now, unzip your installation zip file that you downloaded from CJWSoft.
Use a program like winzip and be sure you have it set up to unzip the directories as well. You can also use windows xp's built in folder compression tools to unzip the archive.
When you unzip the application you should have all of the following folders and files. (more or less, it depends on the version)

Now, you can copy all of these files into the root of your website or if you like you can make a folder called "aspprotect" and put all of these folders and files in that folder. Either way it really does not matter.
Now, contact your web hosting company and instruct them that you need permissions set on the data folder that you copied into your website. This folder and all of its child folders need modify permissions set on it for the anonymous webserver account. It is very important that they set the permissions correctly and on all the child folders as well.
Here are some threads on exactly how these permissions are set.
If you run your own server or are developing locally you can do this yourself. If not most likely you need to put in a request to your hosting company as you CAN NOT set these permissions via Frontpage or FTP.
Windows 2003 Server and permissions
http://support.cjwsoft.com/forum/forum_posts.asp?TID=136& ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;PN=1
Windows XP Pro and permissions
http://support.cjwsoft.com/forum/forum_posts.asp?TID=56& PN=1
Once permissions are set.. run this page via your web browser
http://www.mysite.com/data/setup_info.asp
Replacing the part in blue with your website info.
When this page is run it will report back a screen like so:

Now, take the connection string info it shows you.
Edit the "dataconn_inc.asp" file in the root of the ASPProtect system and use that data connection information. It should be valid for the server.
If you are using MSSQL server instead of Access please see the SQL database creation directions as you will need to create the MSSQL database and use a special connection string for that.
http://support.cjwsoft.com/forum/forum_posts.asp?TID=160& ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;PN=1
Now, take the CookieEncryptionKey and PasswordEncryptionKey info that it gives you and enter it into the "config_inc.asp" file in the root of the ASPProtect system. These will be the unique keys that your encryption will be based off of.
Ok...
The files have been copied to your website, the permissions are set on the data folder, and the database connection is ready.
Now.. run this page
http://www.mysite.com/password_admin/get_me_in.asp
Replacing the part in blue with your website info.
This is a special page we use to get into the system for the 1st time.
If you get a nasty error when you run that page similar to this.
Error Type:
Active Server Pages, ASP 0131 (0x80004005)
The Include file '../dataconn_inc.asp' cannot contain '..' to indicate the parent directory.
Then parent paths are disabled on the webserver and you need to do an extra step to deal with that. Follow this link.
http://support.cjwsoft.com/forum/forum_posts.asp?TID=162& ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;PN=1&TPN=1
If you get any other variery of "80004005" error then there is a problem with your data connection.
http://support.cjwsoft.com/forum/forum_posts.asp?TID=27& PN=1
Those errors are usualy related to database folder permissions or an imcorrect physical path to the database file specified though they can mean a lot of things.
Once you get the page running you will see a login prompt and one form field
You will need to paste the "PasswordEncryptionKey" value that you used in the "config_inc.asp" file in the form field and hit enter.
If all goes well you will see the admin area of ASPProtect.
Now that you are in the system you need to create an admin account.
Click on "ADD NEW USER".. fill out the info and add a user.
You really only need to fill out (first name,last name,email,username,and password)
Now save that user.
You should see a new user listed in the admin area. Click on Edit user to the left of the new account. On the edit screen check the "admin" checkbox and save the user.
You just created an Admin account.
Now click on the "log off" button on the top menu and click yes to log off.
Now close the browser. Then run this URL
http://www.mysite.com/password_admin/default.asp
Replacing the part in blue with your website info.
You should now be able to in to the admin area of the system using the new admin account you created.
You are now ready to go to the settings page so click on the settings tab in the menu. There are a lot of options and paths that need to be set on this page. Every setting is described in detail on this page. You need to go through the page and set things up properly. Anytime the page asks for a path to a url or file the page will auto generate what should be the path to use. (expected path) If your server has parent paths disabled a few of those auto generated paths will not show up. If that is the case run this url from your server and it should tell you the paths to use for those settings.
http://www.mysite.com/data/expected_paths.asp
Replacing the part in blue with your website info.
Once your all done and the system seems to be running fine you should go back and delete the following pages as they are no longer needed and pose a potential security risk.
http://www.mysite.com/data/setup_info.asp
http://www.mysite.com/data/expected_paths.asp
http://www.mysite.com/password_admin/get_me_in.asp
You should back up the original zip archive you got from CJWSoft in case you ever need those files again.
VERY IMPORTANT: The user passwords from now on will be encrypted using the "PasswordEncryptionKey" you specified in the "config_inc.asp" file.
If you ever change that key all of your passwords will be invalid and you can not get them back unless you know the key and put it back, so plan on never changing that key unless you really know what your doing and know how to decrypt/re-encrypt the passwords using a new key. (something we do not cover at the moment but probably will when we have time to make a tutorial)
, UPDATE
Version 8.1 has code generators for these new methods built in...
, that wont work the way you did it because groups are not stored like like.
groups are stored "*1*"
or "*1*,*9,*"
so if you test for them you must do so using the InStr function of vbscript
example:
If InStr(Session("Groups"),"*1*") Then
' do whatever
End If
also.. as for the session variable
it should be Session("Groups")
And in Version 6.... (its all ready to go in version 7) that session variable must be saved in the check_user_inc.asp file near where all the others are saved. If it is not there by default "I dont remember if it is or not" you have to add it like so near where all the others are saved
Session("Groups") = CmdCheckUser("Groups")
If you are wondering if it is being saved correctly you can always response.write out the Session("Groups") to see if it holds a value
, Yes, you are right.
We have now tested it using the DSN less connection with Access 2002 and it works fine. We have also tested it again with a DSN using 2002 and this also seems to work.
The comment about speed is a consideration although I have not noticed any differences. ( we only have a few database entries at this time).
Thanks for your help
, Chris -
Long time no talk, which is a good thing. I have purchased another product from you, ASPVendor. I am running into an issues.
When I try and remove the image through the image manager, it does not remove it. Screen shot attached.
2005-10-19_194248_image_upload.zip
Thanks
, ok, well if you want to test on your own.... in the ipn.asp file for the subscription folder you will see this area of code used for testing
' Un-comment this section and give this directory proper permissions to enable logging to a text file
' Very helpful for troubleshooting
' Set ObjMyFile = CreateObject("Scripting.FileSystemObject")
' LogFileName = ("paypal.txt")
' 'Open Text File.. If doesn't exist create it and append to it .. If exists just append to it
' Set WriteMyData = ObjMyFile.OpenTextFile(Server.MapPath("paypal.txt"),8,True)
' RowHeaderString = ""
' RowHeaderString = RowHeaderString & OrderID & vbTab
' RowHeaderString = RowHeaderString & Custom & vbTab
' RowHeaderString = RowHeaderString & User_ID & vbTab
' RowHeaderString = RowHeaderString & subscr_id & vbTab
' RowHeaderString = RowHeaderString & txn_type & vbTab
' RowHeaderString = RowHeaderString & subscr_date & vbTab
' RowHeaderString = RowHeaderString & Access_level & vbTab
' RowHeaderString = RowHeaderString & Groups
' WriteMyData.WriteLine(RowHeaderString)
' WriteMyData.Close
now that folder will need modify permissions for the text file to be written to but this is a good way to test if the ipn.asp page ever gets hit by paypal.
ITS REAL IMPORTANT THAT THE TEST FILE CAN BE WRITTEN TO OR DOING THIS WILL JUST CAUSE MORE ISSUES
To ensure the text file can be written to and permissions are correct for that folder you can make a new .asp in there and run this to see if the text file writing works
Set ObjMyFile = CreateObject("Scripting.FileSystemObject")
LogFileName = ("paypal.txt")
'Open Text File.. If doesn't exist create it and append to it .. If exists just append to it
Set WriteMyData = ObjMyFile.OpenTextFile(Server.MapPath("paypal.txt"),8,True)
WriteMyData.WriteLine("the file was written to")
WriteMyData.Close
Now, you can even change the location of the text file to place that does have permissions if you like.
This is what I would do if I was in there... then I would make some test payments using 1 cent and another paypal account (your allowed 2)
and see what happens
it is always possible the subscription code may have a bug in it. The last time I tested I only tested the single payment folder which worked perfectly. If I have time in the next couple days I am going to test the subscription stuff again. If there is something wrong I can cure it quickly.
The two routines share a lot of code in common.
cwilliams38421.6488773148, It really means just what it says. Your connection string is just not valid and the sql server speicifed can not be reached. The username and password could also be invalid. Since you already had a database set up you should use the same username and password you have always been using. You also need to use the same database name you have always been using. Without actually knowing more and seeing what you are doing it is pretty hard to tell you anymore than that.
The directions and sql scripts given are for setting up a new sql database. Applying them to an existing sql database requires a slightly different approach. Modificiations to the SQL scripts elimintating references to the usernames/password/database we suggest in the scripts is also a good idea.
A data connection is a low level as it gets. Until you get that working you are really not even touching any of the code in the ASPListings application.
If you want I have no problem going into your sql server and web and setting up for you correctly.
cwilliams38301.7362037037, Those access levels are not used and are nothing to worry about. They are left over from the ASPProtect core which I used for the users area of ASPBanner.
I am not sure what you did but its not a none, Unless I know more I can not make any guesses what happened. I would make sure in the database that the user is active and the expiration date field for them if there is one is empty, If I also password protect the pricelist pages then someone will have to login twice.
nobody should have to log in twice... ?
session variables keep track of access... once your in - your in and you can browse to and from any password protected pages you like
If it is making you log in each time then cookies are most likely disabled.. session variables requires cookies being on to work.. cookies being on is a requirement of aspprotect and is how Formed Based Authentication works..
let me know if that is the issue there...
you shouldnt have to be logging in more than once per session
Thats the whole point of the application...
, If you re-start the web via IIS, reboot the server, or (possibly) just add and remove a category... that will clear up.
ASPClassifieds and ASPListings must be installed in seperate IIS applications if they are the same web. Otherwise the category caching system of each system will interfere with each other. They were never intended to be installed in the same web together since ASPListings is merely a stripped down version of ASPClassifieds and they share a lot of the same code. Like I said though if different IIS applications are set up in the web site you can do it because each IIS application will have it's own set of application and session variables.
, I have a customer who is asking the following:
... could you make a link from it to our website and is there a way to see what traffic goes from us to them. They are going to pay a commission on sales, however I need to be able to track who views their site...
Wishful thinking or could you add code to track their IP address and display in the report section? Not sure that would be enough to satisfy this request. Suggestions?
Thanks, Lance
, I am not sure totally understand your question.
I need you to explain it differently.
Any ".asp" page that is protected is going to automatically prompt them for a login box or log them in automatically depending on if they set that option.. In the end returning them to that same page.
So, it really all takes care of itself for the most part.. It doesn't even matter if the bookmark a protected page deep in your site. The system is smart enough to keep them at that page as well as handle their access.
Now of course if they are at an unprotected page of your site and navigate to a protected page they get a loin prompt or are allowed in if they already logged in...
Also.. when you say unprotected page ? do you mean ".htm" or ".asp"
cwilliams38298.6571759259, We would like to use some of the variables from the user account in our web pages after they log in (something like, 'hello <user>"), but for professional printout reports using company name and user.
Could you offer some help as to what variable string we use to print that information on logged in pages?
By the way, the program is working great!!!
cwilliams38446.6302083333, Well, I had no more trouble after I read the instructions.
The PayPal integration is really neat stuff! WOW! And the email
users function got up and running in a snap... this is an awesome
package!
The coolest thing with the user registration is that the account
username and password are selected by the user. That is very very nice.
Much less typing for me to do.
, Have you thought about language file so users dont have to go into the code to put it in their language??
, Sorry you feel that way, not my intention. I'm not threatening anything. I was very happy you responded when did so there no reason for any bad feelings. I like your product as I said before and have no problems with it. Sorry again, that was not my intention. Merry Christmas…
, Ahhh....yes, I always forget about the cache. That's exactly what it was.
I had made modifications to the import_pics.asp file, because I added more fields to the db, and made the import folder path dynamic, but I seem to have forgotten to add in the response.expires=0
Once I added this back in it has stopped messing up.
What was happening was, it wasn't overwriting the files, nor were they too big, but you would click on one thumbnail in an album(category) and it would display a picture from a totally different category. It seems browser cache was the culprit, however.
Thanks for the quick reply, great product tooo!!!
, When a user 1st signs up a proper case function is run on certain fields.
This is only once on user signup and never done in the admin area.
It's goal is to keep things entered in Proper Case,
so if someone enters "chris williams" it becomes "Chris Williams"
It's not perfect but it helps a lot to keep the data clean and more consistent. Since it only happens during registration those values can be changed later by the admin or the user if someone wants to.
The function is only applied to the fields that it makes sense to apply it to....
In your case adding a drop down menu means you want exactly what is in your drop down to appear so you wouldn't want it happening.
That being said, it is really easy to remove this situation from any field it is happening to during registration.
So edit "users/add_new_account.asp" with a text editor
find
CmdAddUser.Fields("Company_Name") = PCase(Company_Name)
and change it to
CmdAddUser.Fields("Company_Name") = Company_Name
That is all that is needed to made the change
cwilliams38421.5069328704, Not to be pushy, but how's the new version progressing?
I'm hoping these features will be in it:
- possibly add the ability to move pictures around in an album. and maybe between albums, I must also remember to move the ratings and desc as well for that image.
- possibly add a feature to store 3 versions of images uploaded
thumbnail, medium res, and high res/original
-
add option to store the images orginal name in the images description area during upload
may be helpful to people that name their images in a somewhat descriptive way
-
add support for the ibulc bulk upload client that I recently discovered
If you could use a beta tester, I'm still just setting up my site and would be willing to run a beta.
Thanks
Al
, I think its great to share a mod.
I will have few with the new album.
, The Pop-Up Javascript Date Pickers will only show up of your server's regional settings are set to one of two lCID values.
1033 which is English - United States
mm/dd/yyyy date format
or
2057 which is English - United Kingdom
dd/mm/yyyy date format
Many servers are set to run the default LCID which is 2048 so the banner system will not show the date pickers.
This setting can however be easily overwritten when using the ASPBanner system.
Edit the "config_inc.asp" file with a text editor.
Add this code between the <% and %> tags.
Near the top is good
Session.LCID = 1033
or
Session.LCID = 2057
depending on what date format you are looking to use
Save the file and go edit a banner. The date pickers should be there now.
cwilliams38325.7403125, Not sure because of the nature of the javascript method
for starters tighten up the html around the banner call
change
<tr>
<td width="460" height="60" align="center" valign="middle" class="imagead">
<!------- ASPBanner Ad code ------------->
<script language="JavaScript">
var code = '';
var now = new Date();
var nIndex = now.getTime();
document.write('<s' + 'cript src=" http://www.nababaseball.com/aspbannernet/aspbanner/injectban ner.aspx?BannerZone=1&nocache=' + nIndex + '">');
document.write('</' + 's' + 'cript>');
</script>
<script language="JavaScript">document.write(jscode);</script >
</td>
to
<tr>
<td width="460" height="60" align="center" valign="middle" class="imagead">
<script language="JavaScript">
var code = '';
var now = new Date();
var nIndex = now.getTime();
document.write('<s' + 'cript src=" http://www.nababaseball.com/aspbannernet/aspbanner/injectban ner.aspx?BannerZone=1&nocache=' + nIndex + '">');
document.write('</' + 's' + 'cript>');
</script>
<script language="JavaScript">document.write(jscode);</script >
</td>
If that doesn't help I would suggest using the ASP 3.0 version of ASPBanner. It can serve banners to a any type of page extension and it runs just as well as the .NET version. There is a new iframe method for calling banners that you can try instead of the javascript. The iframe method is explained in the ASPBanner Unlimited section of the forum.
cwilliams38150.6443634259, do you want my help making the database with your import file ?, Sounds cool.. post info when you get it sorted out
thx
hopefully someday I'll get the new version finished.. I just never seem to have time. Lately ASPProtect takes up all my time and now aspclassifieds seems to be in need of a new version more so than asp photo gallery
, yup. that is correct... they can't log in so they can't see any pages you protect
its the nature of forms based authetication
, ... doesn't seem to be working on my site. I expect I did something wrong.
I've created some groups, "week", "month", and "year". Their IDS are 6, 5, and 4, respectivelty. When someone goes through the PayPal signup, he's assigned to one of those groups based on his subscription.
When I see a new subscriber and check the relevant group the person's supposed to be in, that person's not in that group. I'm adding them manually for now, but I'd sure like a solution for when I go to sleep...
My subscription code looks like this:
input type="hidden" name="custom" value="5,*4*,<% =User_ID %>
One-off code looks like this:
option selected value="7,4.95,1,*6*"
I've created the groups in my management console. Is there anywhere or anything else I'm missing?
, The only major usability issue I've found to date is multi-zone banners. Cloning is helpful to a point, but then if you have a change to that banner, you have to make the change 6 times or what have you. I think, even at the expense of speed, multi-zone capability for a single banner would be excellent addition. Of course, that supposes I haven't just missed it and it's already there.
cwilliams38453.6665509259,
Timecard Entry: 3/25/2006 4:45:51 PM
Labor Day, HR Association Meeting, Mileage Report, email, voicemail, call backs, finished Johnson Lumber proposal, waite toyota, Barb Parks from AAA, followup stuff on user group-spoke to Errol about speaker for October meeting, misc communications with Dvae, Peg, Ben over current projects, Re-copying all of TomD's backups to a shared folder (his CD ROM won't read the CD I made). Also making copy of Visual Interdev 1.0 for Crispen to install at home., Answered tech related phone calls. A little busy with customers calling in with email problems., continued reading of costguard, review questions with hb on signaling types, etc. out of office for appointment., rtorrey (SIIE), Lunch, build schedule for next week including times, nyab,ksp, and other projects on books, Review RFP for Internet JCJDC, the moose- info for web site.-web cam pricing and trail conditions web site
assist customer with fax enter info into thousand island site
confirm appoinment for carl- mclaughlin.
emial info to darlene labuff
, travel time to clayton, sign ups, invoices, etc, Sat down in NOC., uEMS, Inventory of GiSCO equipment., Watertown - Clayton, work on the new and improved job des., MRTG is full. Busy signals on 2360, RNAs on 5500., entered bills, ti museum - new web site design, Email, Looking over balance sheet and cashflows for meeting w/Carl, Printing and Binding investor Meeting materials, emails and callbacks. few billing calls. some DPEC, sent email to ken mill about global t3, sent email to andy to check enote responded to emails from paul steve, al... , Daily Meet, answered incoming calls, copying,call backs, batching and answering phone. ,