function feeditems()
{
    global $feedids;
    global $feeditems;
    global $lifeobjects;
    global $meavgnewstats;
    global $scoredate;
    $scoredate = time();
    feedarray();
    $feedsize = count($feedids);
    // need to look at number of feeds needing processed and if over 400 batch
    $batch = 100;
    if ($feedsize / $batch < 1) {
        $nochunks = 0;
    } else {
        $nochunks = ceil($feedsize / $batch);
        //$nochunks = 0;
        //echo $nochunks;
    }
    $batchchunk = array_chunk($feedids, $batch, true);
    //print_r($batchchunk);
    $feeditems = array();
    lifestylestartarray();
    for ($x = 0; $x <= $nochunks; $x++) {
        //echo $x;
        //echo '<br /><br />';
        //print_r($batchchunk[$x]);
        $meavgnewstats = '';
        foreach ($batchchunk[$x] as $fed) {
            //echo $fed.'fed';
            foreach ($lifeobjects as $def) {
                // could LEFT JOIN scores and then use memory to do sum need to test.
                $db->query = "SELECT " . RSSDATA . ".items.id, " . RSSDATA . ".lifestylelightscorea.lifestyleid, " . RSSDATA . ".lifestylelightscorea.score50, " . RSSDATA . ".lifestylelightscorea.lifestyleid, " . RSSDATA . ".lifestylelightscorea.matched1  FROM " . RSSDATA . ".items LEFT JOIN " . RSSDATA . ".lifestylelightscorea ON " . RSSDATA . ".lifestylelightscorea.itemid = items.id  WHERE " . RSSDATA . ".items.feed_id = '{$fed} ' AND " . RSSDATA . ".lifestylelightscorea.lifestyleid = {$def} ";
                //echo $db->query;
                $resultfeditem = mysql_query($db->query) or die("Error in query: {$db->query}. " . mysql_error());
                if (mysql_num_rows($resultfeditem) > 0) {
                    while ($row = mysql_fetch_object($resultfeditem)) {
                        $feeditems[$fed][$def][0][] = $row->score50;
                        $feeditems[$fed][$def][1][] = $row->matched1;
                    }
                }
                // put calculatation of stats in here???
                statcalulator($fed, $def, $feeditems);
            }
            // closes foreach lifestyle loop
        }
        // closes foreach feed loop
        //print_r($feeditems);
        $meavgnewstats = substr($meavgnewstats, 0, strLen($meavgnewstats) - 2);
        //this will eat the last comma
        //echo $meavgnewstats;
        $db->query = "INSERT INTO " . RSSDATA . ".lifestylelightstats (feed_id, idlifestart, noposts, scoposts, lifestylescore, topmatch, avgscore, scoreratio, scoredate) VALUES ";
        $db->query .= $meavgnewstats;
        //echo $db->query;
        $resultinsertavg = mysql_query($db->query) or die(mysql_error());
    }
    // closes for chunkloop
}
    $num = date("d") - 1;
    $day = sprintf("%02d", $num);
    $datest = date("Y-m-") . $day . $starttime;
    $datefin = date("Y-m-") . $day . $endtime;
}
// closes function
setdailytime();
if (isset($_POST['fdates'])) {
    $fsdate = empty($_POST['fstartdate']) ? die("Error: Enter fstartdate") : mysql_real_escape_string($_POST['fstartdate']);
    $fedate = empty($_POST['fenddate']) ? die("Error: Enter fenddate") : mysql_real_escape_string($_POST['fenddate']);
    //$idstart = empty($_POST['idstart']) ? die ("Error: Enter idstart") : mysql_real_escape_string($_POST['idstart']);
    require_once ABSPATH . 'phpFlickr-2.3.0.1/phpFlickr.php';
    $f = new phpFlickr("6cb8b950ac1b34c2300dc789c8da52af");
    // all the search variables
    //$searcharglist = array("user_id"=>"", "tags"=>"", "tag_mode"=>"", "text"=>"", "min_upload_date"=>"", "max_upload_date"=>"", "min_taken_date"=>"", "max_taken_date"=>"", "license"=>"", "sort"=>"", "privacy_filter"=>"", "bbox"=>"", "accuracy"=>"", "safe_search"=>"", "content_type"=>"", "machine_tags"=>"", "machine_tag_mode"=>"", "group_id"=>"", "contacts"=>"", "woe_id"=>"", "place_id"=>"", "media"=>"", "has_geo"=>"", "geo_context"=>"", "lat"=>"", "lon"=>"", "radius"=>"", "radius_units"=>"", "is_commons"=>"", "extras"=>"", "per_page"=>"", "page"=>"" );
    lifestylestartarray();
    // loop to find top photos for each lifestyle object
    foreach ($lifeobjects as $idstart) {
        $db->query = "SELECT * FROM " . RSSDATA . ".lifestyledefinition WHERE " . RSSDATA . ".lifestyledefinition.idlifestart = '{$idstart}' ORDER BY " . RSSDATA . ".lifestyledefinition.votes DESC LIMIT 4";
        $resultdef = mysql_query($db->query) or die("Error in query: {$db->query}. " . mysql_error());
        //echo $db->query;
        $defwords = '';
        if (mysql_num_rows($resultdef) > 0) {
            while ($row = mysql_fetch_object($resultdef)) {
                $defwords .= "{$row->lifestylewords} OR ";
            }
        }
        //print_r($defwords);
        $defwords = substr($defwords, 0, strLen($defwords) - 4);
        //this will eat the last OR
        //echo $defwords;
function scalelist()
{
    global $lifeobjects;
    global $newinputurl;
    //  need to find out last date.
    $db->query = "SELECT * FROM " . RSSDATA . ".melife ORDER BY " . RSSDATA . ".melife.date DESC LIMIT 1 ";
    //echo $db->query;
    $resultmeldate = mysql_query($db->query) or die("Error in query: {$db->query}. " . mysql_error());
    if (mysql_num_rows($resultmeldate) > 0) {
        $row = mysql_fetch_object($resultmeldate);
        $newfdate = $row->date;
    }
    // closes if
    // need wrap this in a loop for each current lifesstyle definition
    lifestylestartarray();
    foreach ($lifeobjects as $ldef) {
        $newurls = '';
        $newurlmatch = '';
        $newinputfeeds = '';
        $newinputurl = '';
        //$db->query ="SELECT * FROM ".RSSDATA.".feeds ORDER BY ".RSSDATA.".feeds.id DESC LIMIT 1 ";
        $db->query = "SELECT  " . RSSDATA . ".melife.feed_id, " . RSSDATA . ".feeds.url, " . RSSDATA . ".melife.idlifestart, " . RSSDATA . ".melife.topmatch, " . RSSDATA . ".melife.diffavg  FROM " . RSSDATA . ".melife LEFT JOIN " . RSSDATA . ".feeds ON " . RSSDATA . ".feeds.id = " . RSSDATA . ".melife.feed_id   WHERE " . RSSDATA . ".melife.diffavg > 0 AND " . RSSDATA . ".melife.date = {$newfdate} AND " . RSSDATA . ".melife.idlifestart = {$ldef} GROUP BY " . RSSDATA . ".melife.feed_id ORDER BY " . RSSDATA . ".melife.diffavg desc";
        echo $db->query;
        $resulttopfeeds = mysql_query($db->query) or die("Error in query: {$db->query}. " . mysql_error());
        if (mysql_num_rows($resulttopfeeds) > 0) {
            while ($row = mysql_fetch_object($resulttopfeeds)) {
                // create array of feed_ids
                $newurls[$row->feed_id] = $row->url;
            }
            // closes while loop
        }
        // closes if
        echo '<br />starttttt';
        print_r($newurls);
        //  see whether feeds_id have already been use to add new urls?  (need to setup new database table to log this)
        $db->query = "SELECT * FROM " . RSSDATA . ".newcheck WHERE " . RSSDATA . ".newcheck.feed_id = ";
        foreach ($newurls as $key => $chfeed) {
            $db->query .= " '{$key}'  OR";
        }
        //closes foreach
        $db->query = substr($db->query, 0, strLen($db->query) - 2);
        //this will eat the last comma
        echo $db->query;
        $resultcheckn = mysql_query($db->query) or die("Error in query: {$db->query}. " . mysql_error());
        if (mysql_num_rows($resultcheckn) > 0) {
            while ($row = mysql_fetch_object($resultcheckn)) {
                // if they are matched, then the feed has already been used.
                // left with a list of feedsids and urls that are new and should progress for inclusion in mepath.com
                $newurlmatch[$row->feed_id] = $row->url;
            }
            // closes while loop
        } else {
            $newurlmatch = null;
        }
        echo '<br />matcheeeeed';
        print_r($newurlmatch);
        // we have original array and those that have been used, so 'merge' arrays to remove urls already used.
        echo 'countone ' . count($newurlmatch);
        if (count($newurlmatch) > 0) {
            $newinputfeeds = array_diff_key($newurls, $newurlmatch);
            echo 'INPUTTTa <br /><br />';
            print_r($newinputfeeds);
            echo 'closes inputtta';
        } else {
            $newinputfeeds = $newurls;
            echo 'INPUTTTb';
            print_r($newinputfeeds);
        }
        //echo 'INPUTTT';
        //print_r($newinputfeeds);
        echo count($newinputfeeds);
        if (count($newinputfeeds) > 0) {
            $chedurls = '';
            // need to add these urls to newcheck to show the have been used.
            $db->query = " INSERT INTO " . RSSDATA . ".newcheck (feed_id, newcheck) VALUES ";
            foreach ($newinputfeeds as $keych => $checkupd) {
                $chedurls .= "('{$keych}', '1' ), ";
            }
            // closes foreach
            $chedurls = substr($chedurls, 0, strLen($chedurls) - 2);
            //this will eat the last comma
            $db->query .= $chedurls;
            echo $db->query;
            echo '<br /><br />';
            $resultcheckurls = mysql_query($db->query) or die(mysql_error());
            print_r($newinputfeeds);
            //  now need to lookup those urls to find new crawled urls from that domain
            if (count($newinputfeeds) > 0) {
                $db->query = "SELECT * FROM " . RSSDATA . ".crawlurlsb WHERE " . RSSDATA . ".crawlurlsb.rawurl LIKE  ";
                foreach ($newinputfeeds as $feid => $starturl) {
                    // need to loose the http://www from url
                    $removehttp = 'http://www.';
                    $shorturl = trim($starturl, $removehttp);
                    // form array of new ursl to be added
                    $db->query .= "'%{$shorturl}%' OR ";
                }
                // closes while loop
                $db->query = substr($db->query, 0, strLen($db->query) - 3);
                //this will eat the last comma
                //echo $db->query;
                $resultfindnurl = mysql_query($db->query) or die("Error in query: {$db->query}. " . mysql_error());
                //  create array of all url that will make it be inputted for the first time
                if (mysql_num_rows($resultfindnurl) > 0) {
                    while ($row = mysql_fetch_object($resultfindnurl)) {
                        // if they are matched, then the feed has already been used.
                        // left with a list of feedsids and urls that are new and should progress for inclusion in mepath.com
                        $newinputurl[] = $row->rawurl;
                    }
                    // closes while loop
                }
                // closes if
                // make global
                print_r($newinputurl);
            }
            // closes if new urls are ready
        }
        //  closes if  no new urls matched
    }
    // closes foreach loop each definition
    echo '<br />total new';
    print_r($newinputurl);
}
function avgofavg()
{
    global $lifeobjects;
    global $avgofavg;
    // need list of all definitions
    lifestylestartarray();
    //$date = time();
    foreach ($lifeobjects as $def) {
        // find out latest avg avg date
        $db->query = "SELECT * FROM " . RSSDATA . ".lifestyleaverage  WHERE " . RSSDATA . ".lifestyleaverage.idlifestart = {$def}  ORDER BY " . RSSDATA . ".lifestyleaverage.date DESC LIMIT 1 ";
        $resultavdate = mysql_query($db->query) or die(mysql_error());
        if (mysql_num_rows($resultavdate) == 1) {
            $row = mysql_fetch_object($resultavdate);
            $avgdate = $row->date;
        }
        // need array of lastest averages
        $db->query = " SELECT * FROM " . RSSDATA . ".lifestyleaverage WHERE " . RSSDATA . ".lifestyleaverage.idlifestart = {$def}  HAVING " . RSSDATA . ".lifestyleaverage.date = {$avgdate} ";
        //echo $db->query;
        $resultavgavg = mysql_query($db->query) or die(mysql_error());
        if (mysql_num_rows($resultavgavg) == 1) {
            $row = mysql_fetch_object($resultavgavg);
            $avgofavg[$row->idlifestart][] = $row->postratio;
            $avgofavg[$row->idlifestart][] = $row->avglife;
        }
    }
    // closes foreachloop
    //return $avgofavg;
    //print_r($avgofavg);
}
function dailylifestlyeposts($finishtime)
{
    global $lifeobjects;
    global $dlposts;
    global $feedd;
    global $dayparr;
    global $finishtime;
    lifestylestartarray();
    //  this should be performed on a 24 regular period thus the time period for loop should be a period of 24hrs of seconds.
    $secondsday = 86400;
    $startday = $finishtime - $secondsday;
    $stoptime = $finishtime - 1;
    for ($x = $startday; $x <= $stoptime; $x += $secondsday) {
        //unset($dayparr);
        $newday = $x + 1;
        $endday = $x + $secondsday;
        //echo $endday;
        // first find all post id for the 24 hr time period
        $db->query = "SELECT DISTINCT " . RSSDATA . ".items.id, " . RSSDATA . ".items.feed_id FROM " . RSSDATA . ".items WHERE " . RSSDATA . ".items.dcdate BETWEEN {$newday} AND {$endday} ";
        //echo $db->query;
        $resultdayposts = mysql_query($db->query) or die(mysql_error());
        if (mysql_num_rows($resultdayposts) > 0) {
            while ($row = mysql_fetch_object($resultdayposts)) {
                $dayparr[$row->id] = $row->feed_id;
            }
        }
        $prefeed = $dayparr;
        $dfeeds = array_unique($prefeed);
        if (count($dayparr) > 0) {
            // need to find out last date used to calculate melife data
            $db->query = "SELECT * FROM " . RSSDATA . ".melife  ORDER BY " . RSSDATA . ".melife.date DESC LIMIT 1 ";
            $resultdaymelife = mysql_query($db->query) or die(mysql_error());
            if (mysql_num_rows($resultdaymelife) == 1) {
                $rowmed = mysql_fetch_object($resultdaymelife);
                $med = $rowmed->date;
            }
            //  need to find out last scoredate for lifestylelightstats(take out so not repeated in loop?
            $db->query = "SELECT * FROM " . RSSDATA . ".lifestylelightstats  ORDER BY " . RSSDATA . ".lifestylelightstats.scoredate DESC LIMIT 1 ";
            $resultdaystatlife = mysql_query($db->query) or die(mysql_error());
            if (mysql_num_rows($resultdaystatlife) == 1) {
                $rowstd = mysql_fetch_object($resultdaystatlife);
                $statd = $rowstd->scoredate;
            }
            foreach ($dfeeds as $fedd) {
                //  for each post looks up feedid to find out if lifestyleid is within top5 places for this individual, if yes, post get included in results
                $db->query = "SELECT * FROM " . RSSDATA . ".melife WHERE " . RSSDATA . ".melife.feed_id = {$fedd}  AND  " . RSSDATA . ".melife.date = {$med} ORDER BY " . RSSDATA . ".melife.diffavg DESC LIMIT 5";
                //echo $db->query;
                $resultmel = mysql_query($db->query) or die(mysql_error());
                if (mysql_num_rows($resultmel) > 0) {
                    while ($row = mysql_fetch_object($resultmel)) {
                        $dlmel[$row->feed_id][1][] = $row->idlifestart;
                    }
                }
            }
            // closes foreach loop
            // loop through each deinfinition to build array of score data per post
            foreach ($lifeobjects as $lifestyleidc) {
                // build array of scoring data for each post
                $db->query = "SELECT " . RSSDATA . ".lifestylelightscorea.itemid, " . RSSDATA . ".lifestylelightscorea.lifestyleid, " . RSSDATA . ".lifestylelightscorea.matched1,  " . RSSDATA . ".lifestylelightscorea.matched2,  " . RSSDATA . ".lifestylelightscorea.matched3,  " . RSSDATA . ".lifestylelightscorea.matched5,  " . RSSDATA . ".lifestylelightscorea.matched10, " . RSSDATA . ".lifestylelightscorea.matched50, " . RSSDATA . ".lifestylelightscorea.score10, " . RSSDATA . ".lifestylelightscorea.score50 FROM " . RSSDATA . ".lifestylelightscorea WHERE ";
                foreach ($dayparr as $ditem => $fe) {
                    $db->query .= "(" . RSSDATA . ".lifestylelightscorea.itemid = {$ditem}) OR";
                }
                $db->query = substr($db->query, 0, strLen($db->query) - 3);
                //this will eat the last OR
                $db->query .= "HAVING " . RSSDATA . ".lifestylelightscorea.lifestyleid = {$lifestyleidc} ";
                //echo $db->query;
                $resultscoredate = mysql_query($db->query) or die("Error in query: {$db->query}. " . mysql_error());
                // create array for further analysis etc.
                if (mysql_num_rows($resultscoredate) > 0) {
                    while ($row = mysql_fetch_object($resultscoredate)) {
                        $dlposts[$lifestyleidc][$row->itemid][] = $row->matched1;
                        $dlposts[$lifestyleidc][$row->itemid][] = $row->matched2;
                        //$dlposts[$lifestyleidc][$row->itemid][] = $row->matched10;
                        $dlposts[$lifestyleidc][$row->itemid][] = $row->score50;
                    }
                }
                // form array of lifedata on a per feed basis
                $db->query = "SELECT * FROM " . RSSDATA . ".melife WHERE ";
                foreach ($dfeeds as $fedd) {
                    $db->query .= "(" . RSSDATA . ".melife.feed_id = {$fedd} ) OR";
                }
                $db->query = substr($db->query, 0, strLen($db->query) - 3);
                //this will eat the last OR
                $db->query .= "HAVING " . RSSDATA . ".melife.idlifestart = {$lifestyleidc} AND " . RSSDATA . ".melife.date = {$med} ";
                //echo $db->query;
                $resultdmelife = mysql_query($db->query) or die("Error in query: {$db->query}. " . mysql_error());
                if (mysql_num_rows($resultdmelife) > 0) {
                    while ($row = mysql_fetch_object($resultdmelife)) {
                        $feedd[$lifestyleidc][$row->feed_id][] = $row->topmatch;
                        $feedd[$lifestyleidc][$row->feed_id][] = $row->diffavg;
                    }
                }
                //
                foreach ($dfeeds as $fedd) {
                    // check another avg stat.  if scoring post for lifestyle is over 75% then include the post even though the postscore context is low.
                    $db->query = "SELECT * FROM " . RSSDATA . ".lifestylelightstats WHERE " . RSSDATA . ".lifestylelightstats.feed_id = {$fedd} AND " . RSSDATA . ".lifestylelightstats.idlifestart = {$lifestyleidc}  ORDER BY  " . RSSDATA . ".lifestylelightstats.date DESC LIMIT 1 ";
                    //echo $db->query;
                    $resultfstats = mysql_query($db->query) or die(mysql_error());
                    if (mysql_num_rows($resultfstats) == 1) {
                        $row = mysql_fetch_object($resultfstats);
                        $dlmel[$row->feed_id][] = $row->scoreratio;
                    }
                }
                // closes foreach feed
                //echo 'before calc';
                //print_r($dayparr);
                //print_r($lifestyleidc);
                resultcalc($lifestyleidc, $dayparr, $dlmel);
            }
            // closes foreach defintion loop
        }
        // closes if new feed items for time period
    }
    // closes for each 24hr for loop
}
function memenu($meurlfeedid)
{
    global $lifeobjects;
    global $feedids;
    global $lifequalify;
    lifestylestartarray();
    feedarray();
    // select lifestyle that an individual qualify for and build array
    //  form two arrays of ranks based on top score and distance from average,   merge out rankings and that will be order menu list will be, limit to 5 and suggested add more button.  NB need to remove lifestyle presented to edit add, remove,  order too I suppose.
    $fid = $meurlfeedid;
    //echo $fid;
    // need to find out date of latest me avarage data
    $db->query = "SELECT * FROM " . RSSDATA . ".melife WHERE " . RSSDATA . ".melife.feed_id = {$fid} ORDER BY " . RSSDATA . ".melife.date DESC LIMIT 1 ";
    //echo $db->query;
    $resultldate = mysql_query($db->query) or die(mysql_error());
    if (mysql_num_rows($resultldate) == 1) {
        $rowldate = mysql_fetch_object($resultldate);
        $ldate = $rowldate->date;
    }
    $db->query = "SELECT * FROM " . RSSDATA . ".melife WHERE " . RSSDATA . ".melife.feed_id = {$fid} AND " . RSSDATA . ".melife.date = {$ldate} ORDER BY " . RSSDATA . ".melife.topmatch DESC ";
    //echo $db->query;
    $resulttopm = mysql_query($db->query) or die(mysql_error());
    if (mysql_num_rows($resulttopm) > 0) {
        while ($rowtop = mysql_fetch_object($resulttopm)) {
            $toprank[] = $rowtop->idlifestart;
        }
    }
    $db->query = "SELECT * FROM " . RSSDATA . ".melife WHERE " . RSSDATA . ".melife.feed_id = {$fid} AND " . RSSDATA . ".melife.date = {$ldate} ORDER BY " . RSSDATA . ".melife.diffavg DESC ";
    //echo $db->query;
    $resultdiffavg = mysql_query($db->query) or die(mysql_error());
    if (mysql_num_rows($resultdiffavg) > 0) {
        while ($rowdif = mysql_fetch_object($resultdiffavg)) {
            $topdif[] = $rowdif->idlifestart;
        }
    }
    if ($toprank && $topdif) {
        //print_r($toprank);
        //print_r($topdif);
        $rankone = array_intersect($toprank, $lifeobjects);
        $rankonea = array_flip($rankone);
        //print_r($rankonea);
        $ranktwo = array_intersect($topdif, $lifeobjects);
        $ranktwoa = array_flip($ranktwo);
        //print_r($ranktwoa);
        foreach ($lifeobjects as $key => $obj) {
            $memrank = ($rankonea[$obj] + $ranktwoa[$obj]) / 2;
            //echo $memrank;
            $lifequalify[$key] = $memrank;
            //$lifequalify[$obj][] = $key;
        }
        $lifesort = asort($lifequalify);
        //print_r($lifesort);
        //print_r($lifequalify);
        $_SESSION[lifequalify] = $lifequalify;
    }
    return $lifequalify;
}