Search Results

Search found 33321 results on 1333 pages for 'php qt'.

Page 831/1333 | < Previous Page | 827 828 829 830 831 832 833 834 835 836 837 838  | Next Page >

  • Inbreeding-immune database structure

    - by Nick Savage
    I have an application that requires a "simple" family tree. I would like to be able to perform queries that will give me data for an entire family given one id from a member in the family. I say simple because it does not need to take into account adoption or any other obscurities. The requirements for the application are as follows: Any two people will not be able to breed if they're from the same genetic line Needs to allow for the addition of new family lines (new people with no previous family) Need to be able to pull siblings, parents separately through queries I'm having trouble coming up with the proper structure for the database. So far I've come up with two solutions but they're not very reliable and will probably get out of hand quite quickly. Solution 1 involves placing a family_ids field on the people table and storing a list of unique family ids. Each time two people breed the lists are checked against each other to make sure no ids match and if everything checks out will merge the two lists and set that as the child's family_ids field. Example: Father (family_ids: (null)) breeds with Mother (family_ids: (213, 519)) -> Child (family_ids: (213, 519)) breeds with Random Person (family_ids: (813, 712, 122, 767)) -> Grandchild (family_ids: (213, 519, 813, 712, 122, 767)) And so on and so forth... The problem I see with this is the lists becoming unreasonably large as time goes on. Solution 2 uses cakephp's associations to declare: public $belongsTo = array( 'Father' => array( 'className' => 'User', 'foreignKey' => 'father_id' ), 'Mother' => array( 'className' => 'User', 'foreignKey' => 'mother_id' ) ); Now setting recursive to 2 will fetch the results of the mother and father, along with their mother and father, and so on and so forth all the way down the line. The problem with this route is that the data is in nested arrays and I'm unsure of how to efficiently work through the code. If anyone would be able to steer me in the direction of the most efficient way to handle what I want to achieve that would be tremendously helpful. Any and all help is greatly appreciated and I'll gladly answer any questions anyone has. Thanks a lot.

    Read the article

  • Flush() not working in drupal

    - by fawad
    I'm trying to post data from one node to another. The other node contains the for loop which iterates for long time and finally generates the table. I want to display the result after each iteration. I have tried to put "flush();" but it is not working. What should i do to display each iteration result on the node page? Note: If i do it with ob_flush() it works but it then starts printing data above the header which is not suitable. I want all the data inside the node.

    Read the article

  • Pagination on blog content type in eZ Publish

    - by foosadi
    Hi, Im not sure if I have missed anything but I am trying to achieve pagination on blog posts within my blog. Is there a setting somewhere to show a certain number of blog posts per page by default? Or am I going to need to add that functionallity myself? Thanks.

    Read the article

  • Are PDO prepared statements sufficient to prevent SQL injection?

    - by Mark Biek
    Let's say I have code like this: $dbh = new PDO("blahblah"); $stmt = $dbh->prepare('SELECT * FROM users where username = :username'); $stmt->execute( array(':username' => $_REQUEST['username']) ); The PDO documentation says The parameters to prepared statements don't need to be quoted; the driver handles it for you. Is that truly all I need to do to avoid SQL injections? Is it really that easy? You can assume MySQL if it makes a difference. Also, I'm really only curious about the use of prepared statements against SQL injection. In this context, I don't care about XSS or other possible vulnerabilities.

    Read the article

  • Short snippet summarizing a webpage?

    - by Legend
    Is there a clean way of grabbing the first few lines of a given link that summarizes that link? I have seen this being done in some online bookmarking applications but have no clue on how they were implemented. For instance, if I give this link, I should be able to get a summary which is roughly like: I'll admit it, I was intimidated by MapReduce. I'd tried to read explanations of it, but even the wonderful Joel Spolsky left me scratching my head. So I plowed ahead trying to build decent pipelines to process massive amounts of data Nothing complex at first sight but grabbing these is the challenging part. Just the first few lines of the actual post should be fine. Should I just use a raw approach of grabbing the entire html and parsing the meta tags or something fancy like that (which obviously and unfortunately is not generalizable to every link out there) or is there a smarter way to achieve this? Any suggestions? Update: I just found InstaPaper do this but am not sure if it is getting the information from RSS feeds or some other way.

    Read the article

  • using json object data in jquery select

    - by Ratna
    {"names": [ {"patientName": "Ratna"}, {"patientName": "raju" }, {"patientName": "krishna"}, {"patientName": "kishore"}, {"patientName": "Kishore1"}, {"patientName": "mahesh"} ]} this is the JSON object i'm getting from Ajax call so now i want to add all patientName values to select box through jquery can any one tell me how to accomplish this ?? here i'm using $.ajax() function for ajax call thanks in advance

    Read the article

  • Cakephp, an elegant solution to quantities?

    - by Smickie
    Hi, I have a shopping cart system in Cakephp, this table has all your usual maguffins: user_ids, product_ids, option_lists ect. It also has quantity. I currently have some awful nested loops to check if the record is the same as any in there, if so add one to the quantity. If not add a new cart item. This loop has to check associated list items and product options, so it goes quite deep. What I'm wondering is if there is a more elegant way of checking to see if two cart items in a database are similar (everything except for quantity). Cheers!

    Read the article

  • How to get title from a website by xpath?

    - by qxxx
    I am playing around with xpath, but have no Idea how to for example get a title from a website using xpath, here is my code but I don't know what to do next... $dom = new DOMDocument(); $dom->loadHTMLFile("http://www.cool.de"); $x=new DOMXPath($dom); $result = $x->query("//TITLE"); //...??? and print_r($result) shows me only "Object", is there a function like print_r to see what is inside an object so I don't have to guess?

    Read the article

  • IP Address Validation Help

    - by Zubair1
    I am using this IP Validation Function that I came across while browsing, it has been working well until today i ran into a problem. For some reason the function won't validate this IP as valid: 203.81.192.26 I'm not too great with regular expressions, so would appreciate any help on what could be wrong. If you have another function, I would appreciate if you could post that for me. The code for the function is below: public static function validateIpAddress($ip_addr) { global $errors; $preg = '#^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}' . '(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$#'; if(preg_match($preg, $ip_addr)) { //now all the intger values are separated $parts = explode(".", $ip_addr); //now we need to check each part can range from 0-255 foreach($parts as $ip_parts) { if(intval($ip_parts) > 255 || intval($ip_parts) < 0) { $errors[] = "ip address is not valid."; return false; } return true; } return true; } else { $errors[] = "please double check the ip address."; return false; } }

    Read the article

  • Difference between two datetime strings: setting timezone

    - by Frank Nwoko
    //Difference between 2 dates This function works well but display wrong time format. Pls how can I change the time of this function from GMT to GMT+1? Displays 15hrs 22mins instead of 16hrs 22mins. Thanks function get_date_diff($start, $end="NOW") { $sdate = strtotime($start); $edate = strtotime($end); $timeshift = ""; $time = $edate - $sdate; if($time>=0 && $time<=59) { // Seconds $timeshift = $time.' seconds '; } elseif($time>=60 && $time<=3599) { // Minutes + Seconds $pmin = ($edate - $sdate) / 60; $premin = explode('.', $pmin); $presec = $pmin-$premin[0]; $sec = $presec*60; $timeshift = $premin[0].' min '.round($sec,0).' sec '."<b>ago</b>"; } elseif($time>=3600 && $time<=86399) { // Hours + Minutes $phour = ($edate - $sdate) / 3600; $prehour = explode('.',$phour); $premin = $phour-$prehour[0]; $min = explode('.',$premin*60); $presec = '0.'.$min[1]; $sec = $presec*60; $timeshift = $prehour[0].' hrs '.$min[0].' min '.round($sec,0).' sec '."<b>ago</b>"; } elseif($time>=86400) { // Days + Hours + Minutes $pday = ($edate - $sdate) / 86400; $preday = explode('.',$pday); $phour = $pday-$preday[0]; $prehour = explode('.',$phour*24); $premin = ($phour*24)-$prehour[0]; $min = explode('.',$premin*60); $presec = '0.'.$min[1]; $sec = $presec*60; $timeshift = $preday[0].' days '.$prehour[0].' hrs '.$min[0].' min '.round($sec,0).' sec '."<b>ago</b>"; } return $timeshift; }

    Read the article

  • Cakephp with underscore table ignores model

    - by xiaohouzi79
    Hi, I have one table metrics and another table metric_levels. In the Metric model I have $hasMany = 'MetricLevels' but anything inside the MetricLevels model is totally ignored. But, if I rename the model to 'Metric' and have $useTable = 'metric_levels' it works fine. I've tried all combinations, but none seem to work. I've tried plurals, singulars, underscores, nothing seems to work. The model is simply ignored and it just takes the value from the database. Any help is appreciated.

    Read the article

  • Which cms or script for social network wiki?

    - by Jason
    Hi, I am building a social network. I need a cms that will allow users to contribute content. Each content item will need to have a google map, list of features, ratings, comments, etc. And the content must be editable by other users with revision control. Also, each user should have a profile with their bookmarked content items, contributed items, comments, etc. It's very important that I can create a template for the wiki/content entries so that each item looks uniform. (and as a kick in the teeth, I would like to be able to search for wiki items using a radial search or map) Joomla was my first choice, as I've used it for many projects, but the wiki functionality is not there. I was also setting up a grou.ps site, but the wiki is so-so - not feature rich and it really doesn't have the option I need. Additionally, I know someone out there will mention Drupal. I may consider it if I can see it put to use without and overabundance of custom programming (I don't mind initial coding, but drupal requires constant coding & recoding - with this site, I dont' have that time commitment) I thought about using mediawiki with buddypress, but i'm not sure if that's the way to go. Thoughts?

    Read the article

  • How to properly sort MPTT hierarchy data into multidimensional array ?

    - by DiegoMax
    Helo there, im trying to figure out how to write a function that returns a multidimensional array, based on the data below: I know how to write the function using the "category_parent" value, but im just trying to write a function that can create a multidimensional array by JUST using the left and right keys. Any help greatly appreciated! array(71) { [0]=> array(9) { ["id"]=> string(1) "1" ["category_name"]=> string(6) "Rubros" ["category_parent"]=> string(1) "0" ["category_slug"]=> string(6) "rubros" ["category_image"]=> NULL ["category_totals"]=> NULL ["category_lft"]=> string(1) "1" ["category_rgt"]=> string(3) "142" } [1]=> array(9) { ["id"]=> string(4) "1000" ["category_name"]=> string(12) "Restaurantes" ["category_parent"]=> string(1) "1" ["category_slug"]=> string(12) "restaurantes" ["category_image"]=> string(16) "restaurantes.png" ["category_totals"]=> string(1) "1" ["category_lft"]=> string(1) "2" ["category_rgt"]=> string(2) "13" } [2]=> array(9) { ["id"]=> string(1) "3" ["category_name"]=> string(21) "Restaurantes de Campo" ["category_parent"]=> string(4) "1000" ["category_slug"]=> string(21) "restaurantes-de-campo" ["category_image"]=> NULL ["category_totals"]=> string(1) "1" ["category_lft"]=> string(1) "3" ["category_rgt"]=> string(1) "4" } [3]=> array(9) { ["id"]=> string(2) "37" ["category_name"]=> string(25) "Restaurantes en la Ciudad" ["category_parent"]=> string(4) "1000" ["category_slug"]=> string(19) "restaurantes-ciudad" ["category_image"]=> string(0) "" ["category_totals"]=> string(1) "6" ["category_lft"]=> string(1) "5" ["category_rgt"]=> string(1) "6" } [4]=> array(9) { ["id"]=> string(2) "41" ["category_name"]=> string(21) "Servicios de Catering" ["category_parent"]=> string(4) "1000" ["category_slug"]=> string(8) "catering" ["category_image"]=> string(0) "" ["category_totals"]=> string(1) "1" ["category_lft"]=> string(1) "7" ["category_rgt"]=> string(1) "8" } [5]=> array(9) { ["id"]=> string(2) "48" ["category_name"]=> string(10) "Rotiserias" ["category_parent"]=> string(4) "1000" ["category_slug"]=> string(10) "rotiserias" ["category_image"]=> string(0) "" ["category_totals"]=> string(1) "1" ["category_lft"]=> string(1) "9" ["category_rgt"]=> string(2) "10" } [6]=> array(9) { ["id"]=> string(2) "62" ["category_name"]=> string(10) "Pizzerías" ["category_parent"]=> string(4) "1000" ["category_slug"]=> string(9) "pizzerias" ["category_image"]=> string(0) "" ["category_totals"]=> string(1) "1" ["category_lft"]=> string(2) "11" ["category_rgt"]=> string(2) "12" } [7]=> array(9) { ["id"]=> string(1) "2" ["category_name"]=> string(13) "Profesionales" ["category_parent"]=> string(1) "1" ["category_slug"]=> string(13) "profesionales" ["category_image"]=> string(17) "profesionales.png" ["category_totals"]=> string(1) "2" ["category_lft"]=> string(2) "14" ["category_rgt"]=> string(2) "35" } [8]=> array(9) { ["id"]=> string(2) "29" ["category_name"]=> string(11) "Arquitectos" ["category_parent"]=> string(1) "2" ["category_slug"]=> string(11) "arquitectos" ["category_image"]=> NULL ["category_totals"]=> string(1) "0" ["category_lft"]=> string(2) "15" ["category_rgt"]=> string(2) "16" } [9]=> array(9) { ["id"]=> string(2) "30" ["category_name"]=> string(8) "Abogados" ["category_parent"]=> string(1) "2" ["category_slug"]=> string(8) "abogados" ["category_image"]=> NULL ["category_totals"]=> string(1) "6" ["category_lft"]=> string(2) "17" ["category_rgt"]=> string(2) "18" } }

    Read the article

  • jQuery UI Autocomplete and CodeIgniter

    - by Kere Puki
    I am trying to implement a simple autocomplete script using jQuery UI and CodeIgniter 2 but my model keeps telling me there is an undefined variable so I dont know if my setup is right. My view $(function() { $("#txtUserSuburb").autocomplete({ source: function(request, response){ $.ajax({ url: "autocomplete/suggestions", data: { term: $("#txtUserSuburb").val() }, dataType: "json", type: "POST", success: function(data){ response(data); } }); }, minLength: 2 }); }); My controller function suggestions(){ $this->load->model('autocomplete_model'); $term = $this->input->post('term', TRUE); $rows = $this->autocomplete_model->getAutocomplete($term); echo json_encode($rows); } My Model function getAutocomplete() { $this->db->like('postcode', $term, 'after'); $query = $this->db->get('tbl_postcode'); $keywords = array(); foreach($query->result() as $row){ array_push($keywords, $row->postcode); } return $keywords; } There arent any errors except it doesn't seem to be passing the $term variable to the model.

    Read the article

  • Symfony 1.4 - Don't save a blank password on a executeUpdate action.

    - by Twelve47
    I have a form to edit a UserProfile which is stored in mysql db. Which includes the following custom configuration: public function configure() { $this->widgetSchema['password']=new sfWidgetFormInputPassword(); $this->validatorSchema['password']->setOption('required', false); // you don't need to specify a new password if you are editing a user. } When the user tries to save the executeUpdate method is called to commit the changes. If the password is left blank, the password field is set to '', but I want it to retain the old password instead of overwriting it. What is the best (/most in the symfony ethos) way of doing this? My solution was to override the setter method on the model (which i had done anyway for password encryption), and ignore blank values. public function setPassword( $password ) { if ($password=='') return false; // if password is blank don't save it. return $this->_set('password', UserProfile ::encryptPassword( $password )); } It seems to work fine like this, but is there a better way? If you're wondering I cannot use sfDoctrineGuard for this project as I am dealing with a legacy database, and cannot change the schema.

    Read the article

  • mysql_query where statment help

    - by Anders Kitson
    I am retrieving values from the url with the GET method and then using a if statement to determine of they are there then query them against the database to only show those items that match them, i get an unknown error with your request. here is my code $province = $_GET['province']; $city = $_GET['city']; if(isset($province) && isset($city) ) { $results3 = mysql_query("SELECT * FROM generalinfo WHERE province = $province AND city = $city ") or die( "An unknown error occurred with your request"); } else { $results3 = mysql_query("SELECT * FROM generalinfo"); } /*if statement ends*/

    Read the article

  • Is there a better loop I could write to reduce database queries?

    - by dmanexe
    Below is some code I've written that is effective, but makes too many database queries. Is there a way I could optimize and reduce the number of queries but have conditional statements still be as effective as below? I pasted the code repeated a few times just for good measure. echo "<h3>Pool Packages</h3>"; echo "<ul>"; foreach ($items as $item): $this->db->where('id', $item['id']); $query = $this->db->get('items')->row(); if ($item['quantity'] > 1 && $item['quantity'] == TRUE && $query->category == "Pool Packages") { $newprice = $item['quantity'] * $query->price; $totals[] = $newprice; } else { $newprice = $query->price; $totals[] = $newprice; } if ($query->category == "Pool Packages") { echo "<li>" . $query->name . " (QTY: " . $item['quantity'] . " x = " . str_ireplace(" ", "", money_format('%(#10n', $newprice)) . ")</li>"; } else { } endforeach; echo "</ul>"; echo "<h3>Water Features</h3>"; echo "<ul>"; foreach ($items as $item): $this->db->where('id', $item['id']); $query = $this->db->get('items')->row(); if ($item['quantity'] > 1 && $item['quantity'] == TRUE && $query->category == "Water Features") { $newprice = $item['quantity'] * $query->price; $totals[] = $newprice; } else { $newprice = $query->price; $totals[] = $newprice; } if ($query->category == "Water Features") { echo "<li>" . $query->name . " (QTY: " . $item['quantity'] . " x = " . str_ireplace(" ", "", money_format('%(#10n', $newprice)) . ")</li>"; } else { } endforeach; echo "</ul>"; echo "<h3>Waterfall Rock Work</h3>"; echo "<ul>"; foreach ($items as $item): $this->db->where('id', $item['id']); $query = $this->db->get('items')->row(); if ($item['quantity'] > 1 && $item['quantity'] == TRUE) { $newprice = $item['quantity'] * $query->price; $totals[] = $newprice; } else { $newprice = $query->price; $totals[] = $newprice; } if ($query->category == "Waterfall Rock Work") { echo "<li>" . $query->name . " (QTY: " . $item['quantity'] . " x = " . str_ireplace(" ", "", money_format('%(#10n', $newprice)) . ")</li>"; } else { } endforeach; echo "</ul>"; echo "<h3>Sheer Descents</h3>"; echo "<ul>"; foreach ($items as $item): $this->db->where('id', $item['id']); $query = $this->db->get('items')->row(); if ($item['quantity'] > 1 && $item['quantity'] == TRUE && $query->category == "Sheer Descents") { $newprice = $item['quantity'] * $query->price; $totals[] = $newprice; } else { $newprice = $query->price; $totals[] = $newprice; } if ($query->category == "Sheer Descents") { echo "<li>" . $query->name . " (QTY: " . $item['quantity'] . " x = " . str_ireplace(" ", "", money_format('%(#10n', $newprice)) . ")</li>"; } else { } endforeach; echo "</ul>"; echo "<h3>Booster Pump</h3>"; echo "<ul>"; foreach ($items as $item): $this->db->where('id', $item['id']); $query = $this->db->get('items')->row(); if ($item['quantity'] > 1 && $item['quantity'] == TRUE && $query->category == "Booster Pump") { $newprice = $item['quantity'] * $query->price; $totals[] = $newprice; } else { $newprice = $query->price; $totals[] = $newprice; } if ($query->category == "Booster Pump") { echo "<li>" . $query->name . " (QTY: " . $item['quantity'] . " x = " . str_ireplace(" ", "", money_format('%(#10n', $newprice)) . ")</li>"; } else { } endforeach; echo "</ul>"; echo "<h3>Pool Concrete Decking</h3>"; echo "<ul>"; foreach ($items as $item): $this->db->where('id', $item['id']); $query = $this->db->get('items')->row(); if ($item['quantity'] > 1 && $item['quantity'] == TRUE && $query->category == "Pool Concrete Decking") { $newprice = $item['quantity'] * $query->price; $totals[] = $newprice; } else { $newprice = $query->price; $totals[] = $newprice; } if ($query->category == "Pool Concrete Decking") { echo "<li>" . $query->name . " (QTY: " . $item['quantity'] . " x = " . str_ireplace(" ", "", money_format('%(#10n', $newprice)) . ")</li>"; } else { } endforeach; echo "</ul>"; echo "<h3>Solar Heating</h3>"; echo "<ul>"; foreach ($items as $item): $this->db->where('id', $item['id']); $query = $this->db->get('items')->row(); if ($item['quantity'] > 1 && $item['quantity'] == TRUE && $query->category == "Solar Heating") { $newprice = $item['quantity'] * $query->price; $totals[] = $newprice; } else { $newprice = $query->price; $totals[] = $newprice; } if ($query->category == "Solar Heating") { echo "<li>" . $query->name . " (QTY: " . $item['quantity'] . " x = " . str_ireplace(" ", "", money_format('%(#10n', $newprice)) . ")</li>"; } else { } endforeach; echo "</ul>"; echo "<h3>Raised Bond Beam</h3>"; echo "<ul>"; foreach ($items as $item): $this->db->where('id', $item['id']); $query = $this->db->get('items')->row(); if ($item['quantity'] > 1 && $item['quantity'] == TRUE && $query->category == "Raised Bond Beam") { $newprice = $item['quantity'] * $query->price; $totals[] = $newprice; } else { $newprice = $query->price; $totals[] = $newprice; } if ($query->category == "Raised Bond Beam") { echo "<li>" . $query->name . " (QTY: " . $item['quantity'] . " x = " . str_ireplace(" ", "", money_format('%(#10n', $newprice)) . ")</li>"; } else { echo "<li>None</li>"; } endforeach; echo "</ul>"; It goes on beyond this to several more categories, but I don't know how to handle looping through this best. Thanks!

    Read the article

  • MySQL ORDER BY rand(), name ASC

    - by Josh K
    I would like to take a database of say, 1000 users and select 20 random ones (ORDER BY rand(),LIMIT 20) then order the resulting set by the names. I came up with the following query which is not working like I hoped. SELECT * FROM users WHERE 1 ORDER BY rand(), name ASC LIMIT 20

    Read the article

  • Better way to read last portion of URL

    - by enloz
    This script should detect the last portion in the full path, and if it is stackoverflow output ok $current_url = $_SERVER['REQUEST_URI']; $current_url_arr = explode('/',$current_url); $count = count($current_url_arr); if($current_url_arr[$count-2] == 'stackoverflow'){ echo 'ok'; } else { echo 'not ok'; } Example 1: www.myserver.ext/something/else/stackoverflow/ Output: ok Example 2: www.myserver.ext/something/else/stackoverflow Output: not ok Example 3: www.myserver.ext/something/else/stackoverflow/foo Output: not ok I hope that you understand the idea. This script works fine, but I'm wondering if there is any better, elegant way to read last portion of URL?

    Read the article

  • Force users to recache url

    - by Ni Le
    I had a setting in my domain controller to redirect my domain that another domain. Example http://mysite.com redirected to http://othersite.com I removed the redirect about one week ago, but some users still seeing the redirect http://othersite.com rather than http://mysite.com. Clearing the browser cache fixes the problem. Is there are way I can force users to update their cache when they go to my site?

    Read the article

  • Trim email list into domain list

    - by hanjaya
    The function below is part of a script to trim email list from a file into domain list and removes duplicates. /* define a function that can accept a list of email addresses */ function getUniqueDomains($list) { // iterate over list, split addresses and add domain part to another array $domains = array(); foreach ($list as $l) { $arr = explode("@", $l); $domains[] = trim($arr[1]); } // remove duplicates and return return array_unique($domains); } What does $domains[] = trim($arr[1]); mean? Specifically the $arr[1]. What does [1] mean in this context? How come variable $arr becomes an array variable?

    Read the article

  • Cookie Value not available, why?

    - by Camran
    I have tested this on my development computer, but now I have uploaded everything to the production server and I cant read out the value of the cookie. I think the problem lies in the Serialization and Unserialization. if (isset($_COOKIE['watched_ads'])){ $expir = time()+1728000; //20 days $ad_arr = unserialize($_COOKIE['watched_ads']); // HERE IS THE PROBLEM $arr_elem = count($ad_arr); if (in_array($ad_id, $ad_arr) == FALSE){ if ($arr_elem>10){ array_shift($ad_arr); } $ad_arr[]=$ad_id; setcookie('watched_ads', serialize($ad_arr), $expir, '/'); } } When I echo this: count($ad_arr) I receive the expected nr, 1 in this case, so there is a value there. But when I echo the value: echo $ad_arr[0]; I get nothing. Completely blank. No text at all. Anybody have a clue? if you need more info about something let me know...

    Read the article

< Previous Page | 827 828 829 830 831 832 833 834 835 836 837 838  | Next Page >