<?php
							 | 
						|
								
							 | 
						|
								
							 | 
						|
								    function wordWrapAnnotation(&$image, &$draw, $text, $maxWidth)
							 | 
						|
								    {
							 | 
						|
								        $words = explode(" ", $text);
							 | 
						|
								        $lines = array();
							 | 
						|
								        $i = 0;
							 | 
						|
								        $lineHeight = 0;
							 | 
						|
								        while($i < count($words) )
							 | 
						|
								        {
							 | 
						|
								            $currentLine = $words[$i];
							 | 
						|
								            if($i+1 >= count($words))
							 | 
						|
								            {
							 | 
						|
								                $lines[] = $currentLine;
							 | 
						|
								                break;
							 | 
						|
								            }
							 | 
						|
								            //Check to see if we can add another word to this line
							 | 
						|
								            $metrics = $image->queryFontMetrics($draw, $currentLine . ' ' . $words[$i+1]);
							 | 
						|
								            while($metrics['textWidth'] <= $maxWidth)
							 | 
						|
								            {
							 | 
						|
								                //If so, do it and keep doing it!
							 | 
						|
								                $currentLine .= ' ' . $words[++$i];
							 | 
						|
								                if($i+1 >= count($words))
							 | 
						|
								                    break;
							 | 
						|
								                $metrics = $image->queryFontMetrics($draw, $currentLine . ' ' . $words[$i+1]);
							 | 
						|
								            }
							 | 
						|
								            //We can't add the next word to this line, so loop to the next line
							 | 
						|
								            $lines[] = $currentLine;
							 | 
						|
								            $i++;
							 | 
						|
								            //Finally, update line height
							 | 
						|
								            if($metrics['textHeight'] > $lineHeight)
							 | 
						|
								                $lineHeight = $metrics['textHeight'];
							 | 
						|
								        }
							 | 
						|
								        return array($lines, $lineHeight);
							 | 
						|
								    }
							 | 
						|
								    
							 | 
						|
								    function displayImage($quote, $person, $imageLoc)
							 | 
						|
								    {
							 | 
						|
								        $draw = new ImagickDraw();
							 | 
						|
								
							 | 
						|
								
							 | 
						|
								
							 | 
						|
								        $image = new Imagick();
							 | 
						|
								        $image->readImage($imageLoc);
							 | 
						|
								
							 | 
						|
								        //grayscale
							 | 
						|
								
							 | 
						|
								        //$image->modulateImage(100, 0, 100);
							 | 
						|
								
							 | 
						|
								        /* Green text */
							 | 
						|
								        $draw->setFillColor("rgb(0,255,0)");
							 | 
						|
								
							 | 
						|
								        /* Font properties */
							 | 
						|
								        $draw->setFont('Bookman-DemiItalic');
							 | 
						|
								        
							 | 
						|
								        $fontsize = 0.05 * $image->getimagewidth();
							 | 
						|
								        
							 | 
						|
								        $draw->setFontSize( "$fontsize" );
							 | 
						|
								        
							 | 
						|
								        //width = 1180 font is 50
							 | 
						|
								        //width = 300 font is 15
							 | 
						|
								        
							 | 
						|
								        //font = slope of diff(width) + x intercept
							 | 
						|
								        
							 | 
						|
								
							 | 
						|
								
							 | 
						|
								        $xpos = $image->getimagewidth()/4;
							 | 
						|
								        $ypos = $image->getimageheight()/4;
							 | 
						|
								        
							 | 
						|
								        
							 | 
						|
								        $msg = '"' . $quote . '"' . " - $person";
							 | 
						|
								
							 | 
						|
								        list($lines, $lineHeight) = wordWrapAnnotation($image, $draw, $msg, $image->getimagewidth() /2);
							 | 
						|
								        for($i = 0; $i < count($lines); $i++)
							 | 
						|
								        {
							 | 
						|
								
							 | 
						|
								            $image->annotateImage($draw, $xpos, $ypos + $i*$lineHeight, 0, $lines[$i]);
							 | 
						|
								        }
							 | 
						|
								
							 | 
						|
								
							 | 
						|
								        /* Give image a format */
							 | 
						|
								        $image->setImageFormat('png');
							 | 
						|
								
							 | 
						|
								
							 | 
						|
								
							 | 
						|
								        echo '<img src="data:image/jpg;base64,'.base64_encode($image->getImageBlob()).'" alt="" width="100%"/>';
							 | 
						|
								    }
							 | 
						|
								    function printHalf($query)
							 | 
						|
								    {
							 | 
						|
								        //random
							 | 
						|
								        
							 | 
						|
								
							 | 
						|
								        $r = mysqli_query ($dbc, $query);
							 | 
						|
								
							 | 
						|
								        while($row = mysqli_fetch_array($r))
							 | 
						|
								        {
							 | 
						|
								            $q2 = "select name from people where person_id='" . $row['person_id'] . "' limit 1";
							 | 
						|
								
							 | 
						|
								            $r2 = mysqli_query($dbc, $q2);
							 | 
						|
								
							 | 
						|
								            while($row2 = mysqli_fetch_array($r2))
							 | 
						|
								            {
							 | 
						|
								                $images = glob('../img/*');
							 | 
						|
								                displayImage($row['quote'], $row2['name'], $images[rand(0, count($images) - 1)]);
							 | 
						|
								            }
							 | 
						|
								        }
							 | 
						|
								
							 | 
						|
								        echo '</div>';
							 | 
						|
								    }
							 | 
						|
								    
							 | 
						|
								    
							 | 
						|
								    echo '<div class="w3-row-padding w3-center w3-margin-top">';
							 | 
						|
								    
							 | 
						|
								    echo '<div class="w3-half">';
							 | 
						|
								    echo '<h1 class="w3-text-teal w3-center">Random Quote</h1>';
							 | 
						|
								    $q ="select * from quote where visibility=true order by rand() limit 1";
							 | 
						|
								    $r = mysqli_query ($dbc, $q);
							 | 
						|
								
							 | 
						|
								        while($row = mysqli_fetch_array($r))
							 | 
						|
								        {
							 | 
						|
								            $q2 = "select name from people where person_id='" . $row['person_id'] . "' limit 1";
							 | 
						|
								
							 | 
						|
								            $r2 = mysqli_query($dbc, $q2);
							 | 
						|
								
							 | 
						|
								            while($row2 = mysqli_fetch_array($r2))
							 | 
						|
								            {
							 | 
						|
								                $images = glob('../img/*');
							 | 
						|
								                displayImage($row['quote'], $row2['name'], $images[rand(0, count($images) - 1)]);
							 | 
						|
								            }
							 | 
						|
								        }
							 | 
						|
								
							 | 
						|
								        echo '</div>';
							 | 
						|
								    
							 | 
						|
								    
							 | 
						|
								    echo '<div class="w3-half">';
							 | 
						|
								     echo '<h1 class="w3-text-teal w3-center">Most Recent</h1>';
							 | 
						|
								    $q ="select * from quote where visibility=true order by creation_date desc limit 1";
							 | 
						|
								    $r = mysqli_query ($dbc, $q);
							 | 
						|
								
							 | 
						|
								    while($row = mysqli_fetch_array($r))
							 | 
						|
								    {
							 | 
						|
								        $q2 = "select name from people where person_id='" . $row['person_id'] . "' limit 1";
							 | 
						|
								
							 | 
						|
								        $r2 = mysqli_query($dbc, $q2);
							 | 
						|
								
							 | 
						|
								        while($row2 = mysqli_fetch_array($r2))
							 | 
						|
								        {
							 | 
						|
								            $images = glob('../img/*');
							 | 
						|
								            displayImage($row['quote'], $row2['name'], $images[rand(0, count($images) - 1)]);
							 | 
						|
								        }
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
								    echo '</div>';
							 | 
						|
								    
							 | 
						|
								    echo '</div>';
							 | 
						|
								    
							 | 
						|
								    echo '<div class="w3-row-padding w3-center w3-margin-top">';
							 | 
						|
								    
							 | 
						|
								    echo '<div class="w3-half row-center">';
							 | 
						|
								    
							 | 
						|
								    if(isset($_POST['panda']))
							 | 
						|
								    {
							 | 
						|
								        displayImage($_POST['panda_quote'], $_POST['panda_name'], $images[rand(0, count($images) - 1)]);
							 | 
						|
								    }
							 | 
						|
								    echo '<h1 class="w3-text-teal w3-center">Create a panda quote!</h1>';
							 | 
						|
								    
							 | 
						|
								    
							 | 
						|
								    
							 | 
						|
								     echo '<form action="index.php" method ="post" class="w3-container w3-card-4">
							 | 
						|
								
							 | 
						|
								    <div class="w3-group">
							 | 
						|
								        <input class="w3-input" type="text" name="panda_quote" required>
							 | 
						|
								        <label class="w3-label w3-validate">Quote</label>
							 | 
						|
								    </div>
							 | 
						|
								    <div class="w3-group">
							 | 
						|
								        <input class="w3-input" type="text" name="panda_name" required>
							 | 
						|
								        <label class="w3-label w3-validate">Person\'s Name</label>
							 | 
						|
								    </div>
							 | 
						|
								    <p><input type="submit" name="Submit" value="Create Panda Quote" class="w3-padding-16 w3-hover-dark-grey w3-btn-block w3-center-align" /></p>
							 | 
						|
								    <input type="hidden" name="panda" value="TRUE" />
							 | 
						|
								
							 | 
						|
								
							 | 
						|
								    </form>';
							 | 
						|
								    
							 | 
						|
								    
							 | 
						|
								    echo '</div>';
							 | 
						|
								        
							 | 
						|
								    echo '<div class="w3-half w3-container">';
							 | 
						|
								    //profile
							 | 
						|
								    include('user/profile.php');
							 | 
						|
								    echo '</div>';
							 | 
						|
								    
							 | 
						|
								    echo '</div>';
							 | 
						|
								    
							 | 
						|
								    
							 | 
						|
								
							 | 
						|
								?>
							 |