Blog Entry: 3/25/2006 4:39:18 PM
Regarding (ASP Photo Gallery Pro)
If you are looking to import a very, very, large number of images, the upload feature might not be sufficient for you. I have done some work using a unix terminal to be able to upload as many images as I would like by simply placing the images in the directory and renaming the images. There are other ways to rename the images, but I am very familiar with Linux, so I chose to do it this way. If you are running Linux, MacOS, or another Linux-based OS, you can simply pull up a terminal and run the following command in the appropriate directory. If you run Windows, I'd suggest CygWin, which creates a Linuxenvironment (Linux shell). It can be found at www.cygwin.com In order to be recognized by the ASP software, the images must be in the format of pic_"Album Number"_"Picture Number".jpg . Therefore, the following code is run to accomplish the file name change (on one line without wordwrap):
ls -1 DSC* |
sed 's/DSCN//g'
sed 's/.JPG//g' |
awk '{print "mv DSCN"$1".JPG pic_9_"$1".jpg"}'
This command will change all files beginning in "DSCN" to "pic_9_*Picture Number*".
This does have a slight problem however. If there is a large number of pictures, 0's become a problem. For example, if there are 200 pictures, picture 1 will show up as pic_9_001.jpg. This can be fixed by the following command, which will eliminate unneccesary 0's (All on one line once more):
ls -1 --color='never' pic_9_0*
|sed 's/_0/_/g'
|sed 's/pic_9_//g'
|sed 's/.jpg//g'
|awk '{print "mv pic_9_0"$1".JPG pic_9_"$1".JPG"}'
This command eliminates 1 zero. It should be run as many times as needed to eliminate all zero's.
Please Note: These commands will only show the resultant set (The list of picture names). In order to execute them, they must be output to a shell script using the ">" character as follows:
ls -1 DSC* |
sed 's/DSCN//g'
sed 's/.JPG//g' |
awk '{print "mv DSCN"$1".JPG pic_9_"$1".jpg"}' > temp.sh
Then, the shell script must be run using the following command:
sh temp.sh
This might take a few moments, depending on the amount of picture names that are being changed.
IMPORTANT: BACK UP all files before changing file names. Also, view the resultant sets to make sure it's what you want before outputting to a shell script.
If you have any questions, please feel free to post or e-mail me @ JPortnoy@checkernet.com
cwilliams38210.5703009259, Say, is it possible to get something to whack every totally inactive account? Preferably joke ones that nobody every actually logged on with.
I'd want to have it delete the account if the following conditions were met:
1. Active = NO
2. Counter < 1 or is a null value
3. Access <1 or is a null value (some people may have logged on and let their accounts expire, so they may want to log back in again with the same info)
I suppose an advanced version of a mass delete tool would allow the admin to select different parameters, but there would DEFINITELY need to be a "Are you sure? REALLY REALLY SURE???" step in there to make sure you didn't toast your database without being stupid twice in a row.
If I knew ASP code, I'd write it myself. I don't, so I make a pitch for a new feature... 
cwilliams38456.0980671296,
I'll give it a shot within the next day or so. I'm busy with a few other things right now. You're right about just saving a copy before I start. It can't really hurt anything.
Thanks Chris. I'll let you know how it turns out.
-john
, If you can would you do it for a price as a mod or will this be added to the new version.
, Yea.. that error is totally because the asp pages are looking for fields in the database that are not there.. and causing a nasty loop.
if using the option pack you must go over the directions very carefully...
Make sure everything works step by step..
After upgrading to option pack code you either need to upgrade the database from the base system or use the newer database provided with the option pack.
Then.. you want to test every function of the groups.. if pages act slow and seem odd... especially the groups page and edit users page..
Then your not using a valid database. Either you didnt upgrade the old one, are not using the new one, or your connecting to an older verison by accident and not realizing it.
That's pretty much it...
cwilliams38300.5555671296, Send email to users that are soon to expire:
What Format should be used for dates and does international friendly dates affect the date as used by the reminder ?
Am having serious problems with renewal notices and expiration dates.
All member sign ups are for 1 yr., yet new members are being sent
renewal notices.
Does Paypal use a different date system or has does
Paypal have nothing to do with Subscription dates?
, Christopher,
I can empathize. It can be a real pain to stablize a server and fend off hack attacks.
As for beta testing, I was referring to once you get to the point where you're ready to release it to the public whether it's this month, next month, etc.
Good Luck!
Al
,
The only reason no one else
asked this many questions is possibly because they didnt NEED the functions i
am TRYING to do. 
We offer tech support for
installation of the base application purchased in it's native form.
In other words were not planning on spending weeks holding your hand and
teaching you how to build your application or modify the one you bought. Not
because anyone wants to make it hard on you but because there is a practically infinite
number of things someone could be trying to do and the only way to give you the
exact answer would pretty much involve either writing it for you or having a
look at your code to see what the heck your doing. Sorry but my time isn’t cheap
nor do I have a lot to spare. I already gave you my approach on what to do and
what you should be looking at but obviously you’re not catching on. SO ONCE
AGAIN, PLEASE LOOK AT THE SOURCE CODE AND DECIDE HOW YOU WANT TO HANDLE YOUR
END OF THINGS BASED ON HOW THE APP DOES ITS THING. I really don’t know how I
can be more clear that that. I don’t have a crystal ball that can tell me where
you’re going with your own code, what the final requirements are... what field
you want to add or remove for the database etc. There is a demo up that
everyone can look at and play with so they can get a feel for how the things
behave and look. It’s not my fault your naivety led you to believe you could do
anything with it in ten seconds. I mean if I just add some wings to my car
maybe it will fly, and if you just add a shopping cart and a few products maybe
you can start your own Amazon.com with that software right? Sounds good to me…
It would take me longer to re-write YOUR code
than it would to have LEARNED ASP.NET and made MY OWN. 
Well thats one thing we both agree on, I bet it would take you a long
time to rewrite the code when you dont know how to write it in the
first place. By you own admission you dont know enough about what your
doing to be messing
with a .NET app at this point. Maybe you should take your own advice
and LEARN
SOMETHING ABOUT IT. What’s even worse is that application isnt even
complicated, its 101 stuff honestly. One class, thats it! Your not
looking at thousands
and thousands of them that you will have to read and comprehend. If you
can
actually “read” the code we kept it lean and mean and to the point.
Nothing
strange or random, no references to a zillion things all sprinkled here
and
there. Its reads like a book if you know the language. That’s why
developers
buy these apps all the time. Not because they couldn’t write one
themselves,
but because they know their time is valuable as well and for $150 which
is less
than most get paid an hour they couldn’t be bothered. Furthermore we
both spend a lot of time making sure these apps are "dumbed down" so
that the average programmer without a lot of object oriented background
can pick up the coding style tweak it if they need to. Some people do
modify things to suite their needs and
others are
happy with our apps "as is".
Just to recap we already wasted two days yappin about your
jacked up servers and after you went through THREE of them and finally got one
working you said the code was working. Red lights started flashing in my office
by the time you got to the second screwed up machine, but hey weird things
happen so at that point I wasn’t 100% concerned. Technically we could have and
possible should have cut you off there as the policy in place is pretty clear
about us not being your tech support crew when it comes to getting your machine
working properly (especially one we cant even look at). Go check those posts
again both Chris and I were answering your questions and being as helpful as
anyone could possibly expect.
Several more days have been spent answering questions about
how to modify your application and again that’s not our responsibility and we don’t
support modified versions of the software for all the reasons that should be
obvious. No software company does and if I have to explain why that is well this
conversation is beyond hope.
Bottom line is the responsibility to support that
application ends the moment you get it running the way it was shipped. Were
pretty damn decent about going above and beyond and a lot of the time we go
into things we shouldn’t have to. If you have well thought out and specific
questions by all means ask, this isn’t some sort of thanks for your money now
get lost operation. CJWSoft has been around since the beginning of Microsoft’s
entrance into the web application market. We have thousands and thousands of
happy customers because we are developers and enjoy working with other
developers along the way.
You’re not the first N0oB to show up, but you’re the first
one I can think of that ever tried to tell us we didn’t write the apps we sell and essentially
wanted to argue that we don’t know what were talking about. Meanwhile you
should have been done with your thing days and days and days ago, not in here
yapping off and showing your ignorance to the other developers that regularly
browse these forums. You trying to tell me how CafePress works is a joke, I happened
to have been part of the team that worked on the first few revisions of that
site and again you really didn’t even understand what I was getting at in that
last post. LINK TO LOGIN PAGE not link to every protected page on the site.
If you think I am pissed off at you, your wrong. I'm
just irritated with the whining about this and that and rather than
admit your over your head you come back with half baked remarks that
only make sense to you. If you think you can
google
a few terms and come back here talking smack like you’re actually
someone that
knows what you’re talking about your just making a fool of yourself.
You sound like a guy from China trying to tell me how to speak
English... My
advice
is get a few books and start learning or try actually reading up and
listening
to the other bazillion knowledgeable developers out there that do a
great job
posting articles about the subject. You might just learn something and
actually
get your project finished before 2010 and when you do please come back
and
re-read your posts with "enlightened eyes" so you can see what a goofball you are for saying half
of the
things you have said. I am not in the mood to keep helping you get your
project done step by step. I have huge projects of my own going on and
if I thought you could actually provide a descent project specification
I might offer to make the changes for you at a serious discount so you
could go away and everyone would be happy. Problem is I dont get the
feeling you could explain your way out of a paper bag let alone provide
a group of programmer the techinal specs for your project.
Your best bet is to post a link to the start of
this thread at www.AngryCoder.com I'm sure a few of people over there would be more than willing to give you a ton of usefull advice 
Google 4GuysFromRolla… a great resource site with example, just
dont come back here telling me those guys/ladies posted things
that dont work either.
Chris has written hundreds of articles on PowerASP, a great
place to start looking as well… www.powerasp.com
I've been spitting out code for longer than I can remeber and I still look
thing up on this site because its LOADED with great info. That happens
to be one of the very first ASP sites that went up on the net so lets
just say he knows a bit or two about the subject.
I'm sure your frusturated but
your pushing your luck
seriously. 38 posts about this subject in a week and your over there
hacking away on your virus infested WaReZ machine which isnt exactally
the ideal development rig. I mean we provide the code and your supposed
to provide at
the least a very basic knowlege of what your doing and a production
grade platform to test it out on. To me thats like buying a
car and then asking how to drive it... then bugging the dealer to teach
you and when you smash the thing complaining because no one told you
that your not supposed to drive into a wall. I have the same policy as
the dealer, show me something wrong with the car from the factory and
we will fix it for you NO QUESTIONS at all with our appoligies, but
really once you take it off the lot what you do with it is your deal
and its not our responsability in the least.
, well, thats a network drive path and in my opinion a very poor way for them to have set things up. It can work as long as permissions get set there and they have the anonymous webserver accounts set up correctly to handle that scenario, but performance isn't the best because your accessing the access database over the network. Access databases are not just not meant to be connected to over the network in a web based scenario. Quality ASP hosting companies do not set up their servers that way and it can often be difficult to get things running as it is a more complex setup on their end. Meaning if they dont synchronize the IUSR_machine accounts correctly you'll have permission issues.
http://www.aspfaq.com/show.asp?id=2168 , like I said you made changes to something to cause that...
users/user_area.asp
runs fine the way it ships "it is one of things I tested earlier when I looked at your installation for you"
If you want I'll go look via FTP and tell you what is wrong
cwilliams38456.1069212963, I have a solution for asp already but thanks anyway. Is there a good book or other learning tool I can purchase that you might know about? I would know where to start about how create a timed subscription in .NET.
,
IMPORTANT UPDATE - READ THIS
http://support.cjwsoft.com/forum/forum_posts.asp?TID=205& ;PN=1
The IPN Support Pack which is built in to ASPProtect 7 contains all the pre-built scripts you need to implement PayPal IPN with ASPProtect. IPN stands for (Instant Payment Notification). It allows you to set up scripts on your server so whenever a PayPal web accept order is processed the PayPal server sends info to your server regarding the transaction and vice versa. This is a fully automated process and allows you to charge users for access by the month or however long you like.
This Support Pack basically gives you an additional signup and registration directory "paypal_signup" and it should not interfere with any changes or customizations you have made to your ASPProtect setup in general. New users can register in this directory and pay for membership at the same time. Existing users whether active or expired can be sent to this directory where they can lookup their account and buy additional membership time online. You can also assign various Access and Group Levels during signup and you can set up various prices for various amounts of time as well. This is a real-time setup for the most part. As soon as a user pays via PayPal your system is updated and they will have access.
To use this all you need to do in ASPProtect 7 is enter your PayPal account name into the settings screen. It will be an email address. You'll need a business or premier account with PayPal and you will need log into your PayPal account and turn on IPN in you profile. They make you enter a default IPN URL. We do not use that so if you already have something there leave it there. If you dont have something there you can type in any the full url to any page on your server. It's probably best to send it to an empty ".asp" page or something.
Changing Payment Options
In the "paypal1.asp" file there are form options set up.
They look like this and you can have as many as you like.
<option selected value="30,9.95,3,">30 Days, 9.95</option>
In this option... A user has the option to purchase 30 days for $9.95 and he will be set to Access Level 3 when payment in completed.
Here is how it works.
The value setting (red) is essentially and array that can be made up 4 elements separated by comma's
They must be separated by a comma and there can be no spaces. In this example the 4th value was not used but the last comma must still be there. If you didn't want to set an access level and left out the "3" there would 2 commas at the end. etc etc
Basically there must always be 3 commas but you only have to set the 1st 2 values which are days and price.
days,price,access level,groups
The 1st value is the amount of days.
The 2nd value is the price for the amount of days.
The 3rd value is the access level you want to user assigned to.
The 4th option is the groups you want the user assigned to. (see PayPal subscription thread for examples of specifying group info)
Now, the label for the option in (blue) can say whatever you like.
cwilliams38421.7143981481, LOL
, When using this code:
<!------- ASPBanner Ad code ------------->
<script language="JavaScript"> var code = '';
var now = new Date();
var nIndex = now.getTime();
document.write('<s' + 'cript src=" http://www.poconocommuter.com/aspbanner/injectbanner.asp?Ban nerZone=6&nocache=' + nIndex + '">');
document.write('</' + 's' + 'cript>');
</script>
<script language="JavaScript">document.write(jscode);</script& gt;
<!--------- End ASPBanner Ad code --------------->
I receive an error that jscode is undefined. The banner will not display.
Any ideas how to fix this?
,
Hi Chris,
Alright. We figured out how to work with both C# and VB, by creating a separate VB web project in VStudio, and then passing the aspprotectnet.dll to the C# project.
Ok. I have another question:
How can our code determine the identity and user_id of the currently logged in user:
Is it Session["User_ID"].ToString() and Session["Username"].ToString()?
thank you
, Your suggestion worked - thanks - , how about translating the error to english..
Looks to me off hand that it would have something to do with the SQL server itself not being run in an english lcid/format and causing some sort of date issue.
I would also suggest you start off with a brand new blank SQL ASPBanner database and make sure that works before you attemp t to import any data into it.
, You cannot use server mappath in the connecting string of the application. If you want to know why read my article.
http://www.powerasp.com/content/hintstips/physical-path.asp
Make your connecting string just like in my example.. do not use the oledb connection string either as it will cause other problems.
If you need to find out the path to the mdb file you can use server.mappath to get that info but do not put server mappath in the connecting string. See my article again.
then if the database folder has proper permissions and the path to the mdb file is valid it will work... otherwise you get useless errors, its really that simple.
You also may want to download ASPTest from www.cjwsoft.com it is designed to show a person how to setup a working data connection., again I will ask you what is the real error??
see the link above when I asked you the 1st time.
(I need the error details and line number.. etc etc)
and what kind of a server are you trying to run it on ?
you mention xp pro but in a confusing way ?
, There is no way I'm going to spend hundreds of dollars for a thumbnail creation program. Mine is a family web site and all out of my pocket.
Is there any free products that work with Gallery that will create the thumbnails? If not can I create them on my own and link them to the pics? There are tons of Perl based freebies out there.
Steve
, Hello cwilliams, and thank you for the fast reply.
Well, i have tryed with the ASPImage enabled and disabled, with the same results. I have used gifs and jpgs in the tests.
I have made some different test. Some with uploading the picture over an excisting picture and some as the first picture. Same results.
Everytime, it´s the 2nd thumbnail that won´t show itself, but the large picture will show, if you press the thumbnail.
I have tryed to look in the code (view_ad.asp), but as far as i can see, everything seems just fine ?!
I know, it wasn´t much help i could give you, but i think i have tryed all the possibilities.
Best regards, Erling
, You may be interested in this. I just put it together real quick like.
http://support.cjwsoft.com/code/code_info.asp?TID=454&PN =1&TPN=1 , It turns out that I never enabled ASP.net on the site. After doing that the skins work much better. I'll have to poke around and see what other functionality is now available.
Thanks!
Al
, I moved the password check file out of /user and am getting this message:
Microsoft VBScript compilation error '800a0400'
Expected statement
/asplog/check_user_inc.asp, line 404
End If
^
Is this a standard database connection error so I should ask my IIS to make sure permissions are correct?
Thanks..!
, Actually, I think I just found my answer...
I will take out the StrToFix = Replace(StrToFix," "," ") bit of code and see what happens...
- Jason
Jawa38406.4721412037, Hi,
We use ASP Protect 6.0 and the database is SQL Server. Our hosting company is charging a lot for daily and weekly backups for everything. Which directories/folders do we need to backup daily and weekly incase something happenes to the site and we need to restore and get the password-protected are that works with ASP Protect to get working.
, Ok...thanks., Once you have the LANGUAGE = VBSCRIPT and Checkfor = 1 on your page,
you'll have it secured. I've got over 1600 pages secured in such a
manner, thanks to ASPProtect!
, where is your site ? I'll taka a look
, Editing using Visual Studio.NET
Here are directions for editing the application using Visual Studio.NET
2002 or 2003 version.. either should work
Some of you are wondering why I didnt just give you the project files.
It is best you go through this process and really understand what is going on.
Also, I dont use VS 2002 so I wouldnt be able to give you project files that would work with that. Not to mention there is 100% chance my prject files wouldn't work for you anyway because of path differences and other things.
Anyway.. on with the instructions...
1st.. make sure IIS, ASP.NET, .NET Framework, and Visual Studio.NET are all installed correctly and up to date.
Open Visual Studio.NET
File - New Project
Select a New Visual Basic ASP.NET web application.
give the new web to be created a name.. I called mine "aspprotectdotnet"

Hit Ok..
Now. once the project opens up we need to delete a few things in the solution explorer window.
So delete "webform1.aspx" , "deletestyles.css", "Global.asax", "AssemblyInfo.vb", and "web.config"
Basically all the files under the project...
Now... you should have the aspprotect.net files unzipped somewhere on you hard drive...
open that folder and select all the files and folders like so

Now drag those selected files and folders to the solution explorer window of Visual Studio.NET right on to the name of the web. In my case "aspprotectdotnet"
It might say this folder already contains a folder names Bins.. just tell it to copy over and continue on any prompts like that.
You'll notice your project is now populated.
Open up the references tab in the solution explorer window as we need to add some references to the dlls in the bin folder of this project. This is needed so the compile process and function correctly.
Right click on references.. click add reference
Then browse....browse on your hard drive to the location of the new web and the bin folder within it.
In my case... "C:\Inetpub\wwwroot\aspprotectnet\bin"
Choose "aspprotectlicense.dll"
Hit open...
Now do the same thing again until you have added all the dlls in that bin folder to the references..
Now.. click add-references again and this time choose
"system.management" from the choices in the .NET tab
Once all of that is done your references should look like this

Now in the Visual Studio.NET menu system up top..
Choose Build - Build Solution
If you did everything right you will see something like this in the build window
------ Build started: Project: aspprotectdotnet, Configuration: Debug .NET ------
Preparing resources...
Updating references...
Performing main compilation...
Building satellite assemblies...
---------------------- Done ----------------------
Build: 1 succeeded, 0 failed, 0 skipped
You now have the visual studio side of things all set up.
To make the project actually run we now have to set some permissions and edit the web.config file.
Using windows explorer browse to the web the app is in. Right click on the "_database" folder and give that folder and all the child folders within it. Modify permissions for both the Anonymous webserver account and the ASPNET account. These accounts might not show up until you dig into the advanced tab and click find now to show all the accounts on the machine.
Permissions screen looks like this...

Once that is done go back the solution explorer window in visual studio.
Open the docs folder.. right click on "sysdiag.aspx" and choose view in browser.
It should complie the project again.. and then run that page in either the internal or external browser depending on how you have that set up.
That page will report back path information.
"BTW.. for security reasons this page should be removed from any production server after installation is complete.. this is very important"
In my case it looks like this.
Probabale AppRootPhysicalPath
c:\inetpub\wwwroot\aspprotectdotnet
Probabale AppRootUrlPath
http://localhost/aspprotectdotnet
Probabale Path to Access Database
c:\inetpub\wwwroot\aspprotectdotnet\_database\aspprotectnet2 002.mdb
Now we need to edit the web.config file... your going to need to know some of the path information above.
In solution explorer double click on web.config.
Now edit the AppRootPhysicalPath, AppRootUrlPath, and CN keys accordingly.
In my case they will look like this.
Notice tha part in bold that we added.
Now, you may also want to check the temp license key info while you are in that file and make sure it is not expired but I am not going to get into that here.
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.
, The ASP error on the home page has been solved -There was aproblem with the path that was including the home page file and we fixed it.
However the error on the member page remains - any ideas/suggestions would be appreciated. This is the error:
[Microsoft][ODBC Microsoft Access Driver]General error Unable to open registry key 'Temporary (volatile) Jet DSN for
process 0x748 Thread 0xad8 DBC 0x214734c Jet'.
Really awesome, thanks..
If possible please be sure to respond to the email they send so the review ends up authenticated
This is noted in the docs. You can also see the current password by looking at your connection string.
It sounds like permissions... to the database folder specifically
they are not correct
It could also be that your odbc drivers are very new and you are not using a new enough version of the access Database. I recommened using the 2002-2003 verison of MSACCESS
Now.. if using a SQL Server Database permissions to certain tables are handled in enterpise manager
I did a google search and it turns out that error very well might have to do with ASP trying to send an email and that process failing.
That tells me your emailing from the application is not working so it is probably not something you edited incorrectly.
see this article...
80040211
http://www.aspfaq.com/show.asp?id=2026
I am in process of upgrading from v6 to v7. I have made database changes, can connect to database and get in to Administration area just fine. However when I go to create a new user I get the following error
It is an ASP.NET web application that you install locally on your development server and then use to connect to a SQL database whether remote or local.
It can do nearly everything enterprise manager can do.
I have tested it and it works great for me.