Category Archives: TAE Owners

Q. What are these messages? No links to click

Q. What are these messages? No links to click

A. All new safelist members are in an autoresponse message stream that sends a daily message explaining site features and benefits. The majority of safelist members are statistically “newbies” and I found that sending more “informational’ messages rather than promos increases knowledge, and user activity, which benefits ALL members.

People rarely read manuals but if I feed them bits and pieces of the manual in emails they are more likely to read and absorb the information.
Exclusive strategies such as this, free ecourses, daily bonuses, daily promo codes, etc. increase login rates on feature-rich sites and there is a correlation between increased login rates and higher usage and CTRs for “onsite” ads on sites that typically have  primarily email and surf traffic.

Rich
Rich Moyer
1-484-902-8819 m-f 8am-5pm EST
Email: richard.moyer.1953@gmail .com
Get a Free 10 Minute Consult.
Paying It Forward…

Keep Your Subscribers Happy. Approve Their Ads

If your subscribers are not getting ads approved daily you will NOT generate OTO, upgrade, or ad purchase revenue.  
You will turn active members into deadheads.  
All of your site activity is generated by 5%-10% of your members.  You cannot afford to lose them.
LFM Mailer sites auto-approve credit mails:  ListVapor, PaidViralMailer
TAE and ExtremeIPL script sites require approval of all ad types except credit mails (ie solo, banners, etc.)
Nothing turns members away faster than “Not Approved Yet”. 
See this and other Admin tips at:
>>>>> http://LifeBalanceB2B.com/tae-owners
Rich

Rich Moyer
1-484-902-8819 m-f 8am-5pm EST
Email: richard.moyer.1953@gmail .com
I am a CONSULTANT FIRST and FOREMOST.
Paying It Forward…

My Favorite Admin Tools

If you have one site, managing is pretty easy.
Things get quickly to a different scale when you have multiple sites (I had 14).  Here are some tools, tips, and techniques I used:
Sites Up/Down Monitor
I use a free monitor to know when my sites go up and down.  It is normal for them to bounce occasionally so I only get concerned if down for an extended time.
Just put in the domain name, and it sends notifications to your email.
>>>>>  uptimerbot.com
Managing the massive number of Passwords
If you are not already using it, RoboForm is a HUGE timesaver
>>>>> Roboform
Organization Hint
I have browser bookmark folders for
  • Admin bookmarks
  • User bookmarks
  • Cpanel bookmarks
  • Webmail bookmarks
(and if you find a need to access the database frequently, talk to me about MyWebSQL)
I keep a tab PINNED for each of my admin accounts with Chrome (works best for me except with one site that behaves better with Firefox).
Tools mentioned in video:
  • OSTicket – free with most hosting accounts
  • Unlimited Hosting – $39 per year
  • MyWebSQL – free – upload zip to public_html, extract then setup bookmark: http://site.com/mywebsql
  • Roboform – absolutely priceless
  • MyLiveChat – free Live Chat for admin – GREAT.  Put the <script></script> in footer of each site
My Routine (I am a very attentive admin)
About once every couple hours, I simply click on the tab for that site’s admin login.  I pull down the Browser bookmark for that site which triggers the Roboform popup. I select the Admin login and I’m IN!
TAE Sites
  • Approve Ads – every 1-2 hours.  Be sure Solos are being sent once approved
  • Check SuperNetworks to be sure ads are being sent – twice per day
  • Check IPN logs – every day
  • Check  Transaction Logs – every day
  • Check Webmail and resolve bounces.  I ignore over quotas unless they become a problem
  • Clean up Banners, Buttons, Blocks, AdsPlus, Login Ads etc. weekly (send back to member if graphics don’t display)
  • Backup using CPANEL at LEAST monthly – separate for Forwarders, Database, and Home Directory – store OFFLINE on local storage like a USB drive or a CLOUD account OTHER than your site hosting.
LFMVM Sites
  • Approve Ads (most are set to auto-approve) – approve banners every day
  • Check SuperNetworks to be sure ads are being sent – twice per day
  • Check IPN logs – every day
  • Check  Dashboard – every day
  • Check Webmail and resolve bounces.  I ignore over quotas unless they become a problem
  • Clean up Banners, Buttons, etc. weekly  (Suspend if graphics don’t display)
  • Backup using CPANEL at LEAST monthly – separate for Forwarders, Database, and Home Directory – store OFFLINE on local storage like a USB drive or a CLOUD account OTHER than your site hosting.
More Admin Tips and Resources (here)
Here are some admin resources for you to use:  TAE Owners tab
>>>>> http://LifeBalanceB2B.com
Rich

Rich Moyer
1-484-902-8819 m-f 8am-5pm EST
Email: richard.moyer.1953@gmail .com
I am a CONSULTANT FIRST and FOREMOST.
Paying It Forward…

Clean-up Queries Where Member Does Not Exist

Clean-up Queries Where Member Does Not Exist:

delete FROM banners

WHERE

NOT EXISTS (

select * from members m

Where banners.userid = m.userid

);

delete FROM buttons

WHERE

NOT EXISTS (

select * from members m

Where buttons.userid = m.userid

);

delete FROM hotlinks

WHERE

NOT EXISTS (

select * from members m

Where hotlinks.userid = m.userid

);

delete FROM loginads

WHERE

NOT EXISTS (

select * from members m

Where loginads.userid = m.userid

);

delete FROM tlinks

WHERE

NOT EXISTS (

select * from members m

Where tlinks.userid = m.userid

);

 

Thanks to Dave Mosher

See Dave’s sites, and the best selection of SuperNetwork bargains anywhere:

>>>>> SimpleTextAdz

Delete Ads over a Year Old.

DELETE FROM banners WHERE EXISTS(SELECT id FROM members WHERE members.lastlogin<‘2016-06-22’ AND members.userid = banners.userid);

DELETE FROM buttons WHERE EXISTS(SELECT id FROM members WHERE members.lastlogin<‘2016-06-22’ AND members.userid = buttons.userid);

DELETE FROM hotlinks WHERE EXISTS(SELECT id FROM members WHERE members.lastlogin<‘2016-06-22’ AND members.userid = hotlinks.userid);

DELETE FROM tlinks WHERE EXISTS(SELECT id FROM members WHERE members.lastlogin<‘2016-06-22’ AND members.userid = tlinks.userid);

DELETE FROM loginads WHERE EXISTS(SELECT id FROM members WHERE members.lastlogin<‘2016-06-22’ AND members.userid = loginads.userid);

 

Thanks to Dave Mosher and Roger Hoover

See Dave’s sites, and the best selection of SuperNetwork bargains anywhere:
>>>> SimpleTextAdz

Roger Hoover is probably the best tech I’ve found for safelists and PHP programming
>>>> http://hoover-usa.com/

Next Step – Wrap your Queries in PHP

If you have a query you run often, wouldn’t it make sense to add them to your TAE Admin NAV menu so you simply have to click them?

Or, if you are not comfortable with editing the Admin NAV menu, just add the command as a browser bookmark.  You just sign in as Admin, and run the php script from the browser address bar or launch the bookmark.

Here is an example of a really great set of SQL commands that I would use over and over to remove ads from deleted members. All I did was create the PHP equivalent, and put the appropriate “includes” for security checks, headers, banners, and NAV menu:

Save this as  “_cleansweep.php” and upload to “/admin/_cleansweep.php”
Change permissions to 644
To run: 
Login to your admin panel
In the address bar, type:
Done
================================
<?php
session_start();
include “../header.php”;
include “../config.php”;
include “../connect.php”;
if( session_is_registered(“alogin”) ) {
?>
     <table>
          <tr>
        <td width=”15%” valign=top><br>
        <? include(“adminnavigation.php”); ?>
        </td>
        <td valign=”top” align=”center”><br><br>
<?
        echo “<font size=2 face=’$fonttype’ color=’$fontcolour’><p><b><center>”;
 
mysql_query(“delete FROM banners WHERE NOT EXISTS (select * from members m Where banners.userid = m.userid”);
mysql_query(” delete FROM buttons WHERE NOT EXISTS (select * from members m Where buttons.userid = m.userid”);
mysql_query(” delete FROM hotlinks WHERE NOT EXISTS (select * from members m Where hotlinks.userid = m.userid” );
mysql_query(” delete FROM loginads WHERE NOT EXISTS (select * from members m Where loginads.userid = m.userid” );
mysql_query(” delete FROM tlinks WHERE NOT EXISTS (select * from members m Where tlinks.userid = m.userid” );
mysql_query(” DELETE FROM banners WHERE EXISTS(SELECT id FROM members WHERE members.lastlogin<‘2016-06-22’ AND members.userid = banners.userid” );
mysql_query(” DELETE FROM buttons WHERE EXISTS(SELECT id FROM members WHERE members.lastlogin<‘2016-06-22’ AND members.userid = buttons.userid” );
mysql_query(” DELETE FROM hotlinks WHERE EXISTS(SELECT id FROM members WHERE members.lastlogin<‘2016-06-22’ AND members.userid = hotlinks.userid” );
mysql_query(” DELETE FROM tlinks WHERE EXISTS(SELECT id FROM members WHERE members.lastlogin<‘2016-06-22’ AND members.userid = tlinks.userid” );
mysql_query(” DELETE FROM loginads WHERE EXISTS(SELECT id FROM members WHERE members.lastlogin<‘2016-06-22’ AND members.userid = loginads.userid” );
Echo “Cleanup Done<br>”;
      } else  {
    echo “Unauthorised Access!”;
    }
include “../footer.php”;
mysql_close($dblink);
?>

Original SQL commands contributed by Dave Mosher.  Check out his flagship site and great SuperNetwork package bargains (that I purchase myself)
>>>>> SimpleTextAdz

Advice to Dave was from Roger Hoover
>>>>> http://hoover-usa.com/

PHP by Rich Moyer
>>>>> http://grabcashtoday.com/13sites

MYSQL Access without Logging In to CPANEL

Most admins are not comfortable with SQL, the language used to do “queries”  to get information and update information in the MYSQL database that drives most safelists and blogs on the internet.

SQL is not new and has been an established query language for many years, but there are many “flavors” – MYSQL, Oracle, Microsoft SQL Server, etc.  SQL is not particularly “user friendly”, is very particular about syntax, and has many options when entering commands.  And, accessing the database requires a “user interface” that basically gives you access to a “command line” where you enter the query commands.

The secret is to have a user interface that allows easy access to the database and tables, and allows “ad hoc” editing of the data, in addition to providing that necessary command line.

All CPANEL accounts generally provide phpMyAdmin, a free user interface to the MYSQL databases. A very respectable tool that I use extensively.  But, it requires signing on to CPANEL whenever you need to use it.

I found a free program called MyWebSQL, that once installed, allows almost the same level of access to an established MYSQL database as phpMyAdmin, but does not require sign-in to CPANEL to use it.  There are other features I like that are not found in phpMyAdmin – “sticky” SQL commands that are retained across sessions, multiple query windows, and simple export of query results.

Installation

Installation is simple.  The software is free.  Simply download the required version from MyWebSQL.com.

It does requires one-time access to CPANEL to install it, and the database userid and password to access the database.

Once you download the MyWebSQL zip file, login to CPANEL, open File Manager and navigate to /public_html.

  • Upload the Zip file by clicking UPLOAD
  • Refresh the File Manager display
  • Find the zip file you just uploaded
  • Right Click, then Extract
  • Done.  You can now access MyWebSQL from your browser: http://yoursite.com/mywebsql

You will need the database userid and password.  This can be found for most safelists in /public_html/connect.php.  For other systems, I recommend creating a new database userid and password that has limited privileges (Contact me for help in setting this up).

  • in CPANEL File Manager, navigate to /public_html
  • Find the file connect.php
  • Right click and select VIEW
  • Copy down the database userid and password, and store it in a SECURE place

Just launch MyWebSQL from your browser (and bookmark it), enter the database userid and password, and you are good to go!

 

Rich

Rich Moyer
1-484-902-8819 m-f 8am-5pm EST
Email: richard.moyer.1953@gmail .com
I am a CONSULTANT FIRST and FOREMOST.
Paying It Forward…

See this blog for helpful queries to manage your safelists, and ways to package queries you run all the time so they can be run over and over right from your TAE Admin panel.

Other Related Articles:

SQL Queries for TAE Admins

SQL for TAE Admins

SQL Query for User Accounts with No Paypal

Advanced TAE Admin Topics – Cleaning up Banners

SQL Queries for TAE Admins

To find duplicate IPs
SELECT ip, id, name, userid, contact_email, pword, joindate, lastpost
FROM members
WHERE IP IN (SELECT IP
  FROM members
  GROUP BY  IP
  HAVING COUNT(*) > 1)
To replace all instances of a URL like http://av.id.ly/ and chanege it
update table SET url = REPLACE(url,  ‘http://av.id.ly/’,  ‘http://grabcashtoday.com/’ ) WHERE userid = ‘richardmoyer’ AND url LIKE  ‘%http://av.id.ly/%’
Send back banner ads and premium ads with targeturl from vitalviralpro
update `banners`
set status=0, added=0
where targeturl like ‘%vitalviralpro%’;
update `premiumads`
set approved=0, added=0
where url like ‘%vitalviralpro%’;
\
Find contact_email that is not gmail.com
SELECT * FROM `members` WHERE not (contact_email like ‘%gmail.com%’)
Delete where contact_email is not gmail (actually mark deleted but can be restored)
update members set deleted=time() WHERE not (contact_email like ‘%gmail.com%’)
Find Deleted Members (most recent first)
select * from members where not (deleted=”) order by deleted desc
Restore a list of members (list consists of userid from previous listings)
update members set deleted=” where userid in ( richardmoyer, thomasdavid6156, joeschmoe64 )
Find Pro members who have not logged in since 1/1/2016
SELECT id, name, lastname, contact_email, memtype, lastlogin FROM `members` WHERE lastlogin<‘2016-01-01’
and memtype=’PRO’ and status=’1′

ExtremeIPL Script Issues: blocks, billboards, adsplus, featured ads, premium ads

I’ve had this ongoing issue with many of the premium ad types: blocks, billboards, adsplus, featured ads, premium ads

One problem is that these ad types could not be edited, well, let’s be realistic, they could but the poorly written software didn’t support it.

I’m a purist when it comes to passing the minimum amount of information over  global variables like $_SESSION, $_POST, and $_GET.  Back in the days we were slinging code in the tarpits, I was taught to call a procedure and explicitly pass each element, and use only local variables within that procedure.  Results were to be passed back through a RETURN variable or array.

PHP is no different than any other programming language, so the same basic programming discipline and protocol should also be applied.  

What I found was the calling program (advertise.php) was passing control and ALL the data to the called program through global variables, for example, editadsplus.php.  Once the called program took control, it was ASSUMED that the data was passed correctly.  The common denominator on all the above ad types, was that they utilized a  “textarea”  for the description field, “adbody”.  Because there were only arbitrary size limits (enforced through the editor) I’m guessing that at some point we were exceeding the global variable buffer size.  

 

Why it was happening is not important.  The fix is easy:  only pass the ID, and re-query to obtain the fill data for the edit program  form <input> fields.

I also encountered pure sloppy programming.  In the sql “update” query, none of the data was explicitly delimited.  I’ve noticed, since the later versions of PHP were released, that some of the “lax” delimiting practices were no longer tolerated.  

My goal was not only to fix the functional issues, but also to universally improve the user experience by providing “preview” modal windows so the user could visualize the ad before submitting.  Without preview, there was a universe full of ugly ads being submitted.

OK.  So, let’s get to the fixes:

editbillboards.php

  • missing $_POST for bannerurl
  • Sloppy $query delimiters
  • missing update for field bannerurl
  • There was a problem in advertise.php also

After line 10, add this line

$bannerurl=$_POST[‘bannerurl’];

Replace the query (~ line 44) with

$query = “update billboards set subject='”.$subject.”‘, adbody='”.$adbody.”‘, url='”.$url.”‘, bannerurl='”.$bannerurl.”‘, textcolor='”.$textcolor.”‘, bgcolor='”.$bgcolor.”‘, titlecolor='”.$titlecolor.”‘, added=1, approved=0 where id=”.$id;

After <center><H2>Edit Billboard Ad</H2><br> insert this code:

<?
$query=”select * from billboards where id='”.$id.”‘”;
$result=mysql_query($query);
$line=mysql_fetch_array($result);
$subject = $line[‘subject’];
$adbody = $line[‘adbody’];
$url = $line[‘url’];
$bannerurl = $line[‘bannerurl’];
$textcolor = $line[‘textcolor’];
$bgcolor = $line[‘bgcolor’];
$titlecolor = $line[‘titlecolor’];
?>

After  <p><b>Please double check your billboard ad.</b></p> insert this code

<SCRIPT LANGUAGE=”JavaScript”>
function previewad(bannerurl,url,subject,adbody,bgcolor,textcolor,titlecolor)
{
var win
win = window.open(“”, “win”, “height=250,width=500,toolbar=no,directories=no,menubar=no,scrollbars=yes,resizable=yes,dependent=yes”);
win.document.clear();
win.document.write(‘<body bgcolor=”‘+bgcolor+'”>’);
win.document.write(‘<a href=”‘+url+'”><img src=”‘+bannerurl+'” border=”0″></a>’);
win.document.write(‘<center><br><font color=”‘+titlecolor+'”>’+subject+'</font><br><br>’);
win.document.write(‘<font color=”‘+textcolor+'”>’+adbody+'<br></center></font></body>’);
win.focus();
win.document.close();
}
</SCRIPT>
<INPUT TYPE=”button” class=”form-button” value=” Preview Button ” onClick=”previewad(bannerurl.value, url.value, subject.value, adbody.value,bgcolor.value,textcolor.value,titlecolor.value)”>