Include text files in C source
Note: This only works if ALL lines in the file are enclosed in "s.
Wrong myfile.txt:
Hello world
Goodbye world
Right myfile.txt:
"Hello world"
"Goodbyle world"
""
char text[] = { #include "myfile.txt" }
11387 users tagging and storing useful source code snippets
Snippets is a public source code repository. Easily build up your personal collection of code snippets, categorize them with tags / keywords, and share them with the world
char text[] = { #include "myfile.txt" }
In admin-functions.php: After: echo "\n <script type=\"text/javascript\" src=\"admin.js\"></script>"; Add: echo "\n <script type=\"text/javascript\" src=\"scriptaculous/prototype.js\"></script>"; Before: echo "\n </ul>"; Add: echo "\n <li". ($page == "users" ? " class=\"current\"" : "") . "> <a href=\"admin.php?page=users\">users</a></li>"; In admin.php After: } else if ($action == 'settheme') { if (isset($_GET['theme'])) { $gallery->setCurrentTheme($_GET['theme']); } Add: /** USERS ******************************************************************/ /*****************************************************************************/ } else if ($action == 'updateUsers') { $uid = explode("_",$_REQUEST['userid']); $uid = $uid[1]; $name = $_REQUEST['username']; $pass = $_REQUEST['userpass']; $email = $_REQUEST['usermail']; $query = "SELECT * FROM users WHERE name='$name' LIMIT 1"; $result = mysql_query($query) or die(mysql_error()); if (mysql_num_rows($result)<1){ //create new user $query = "INSERT INTO users (`name`,`pass`,`email`) VALUES ('$name',MD5('$pass'),'$email')"; $result = mysql_query($query) or die(mysql_error()); $r = mysql_insert_id(); die("$r"); }else{ //update old user $query = "UPDATE users SET "; $query .= "name='$name'"; if (!empty($pass) && ($pass!="")){ $query .= ",pass=MD5('$name')"; } $query .= ",email='$email'"; $query .= " WHERE id='$uid'"; $result = mysql_query($query) or die(mysql_error()); die("Save successful!"); } } else if ($action == 'removeUsers') { $uid = explode("_",$_REQUEST['userid']); $uid = $uid[1]; $query = "DELETE FROM users WHERE id='$uid' LIMIT 1"; $result = mysql_query($query) or die(mysql_error()); } Before: <?php /*** HOME ***************************************************************************/ /************************************************************************************/ ?> Add: <?php /*** USERS *******************************************************/ /************************************************************************************/ ?> <?php } else if ($page == "users") { ?> <script> addRow = function(e){ while(e.nodeName.toLowerCase() != "tr"){ e = e.parentNode; } newAdd = "<tr><td></td><td><a href='#' onClick='addRow(event.target);'>Add User</a></td><td></td><td></td></tr>"; cells = e.getElementsByTagName('td'); cells[0].update("<input type='button' id='newCancel' value='Cancel' onClick='cancelRow(event.target);'><input type='button' id='newSave' value='Save' onClick='saveRow(event.target);'>"); cells[1].update("<input type='test' id='newName'>"); cells[2].update("<input type='password' id='newPass'>"); cells[3].update("<input type='test' id='newEmail'>"); new Insertion.Before(e,newAdd); }; cancelRow = function(e){ while(e.nodeName.toLowerCase() != "tr"){ e = e.parentNode; } e.remove(); } saveRow = function(e){ while(e.nodeName.toLowerCase() != "tr"){ e = e.parentNode; } cells = e.getElementsByTagName('td'); //ajax save call1 cells[0].update("<em>Saving...</em>"); //build url daUrl = "admin.php?page=users"; daUrl += "&action=updateUsers"; daUrl += "&userid="+(e.id); daUrl += "&username="+(cells[1].getElementsByTagName("input")[0].value); daUrl += "&userpass="+(cells[2].getElementsByTagName("input")[0].value); daUrl += "&usermail="+(cells[3].getElementsByTagName("input")[0].value); new Ajax.Request(daUrl,{ method:'get', onSuccess:function(r){ uid = r.responseText; e.id = "uid_"+uid; cells = e.getElementsByTagName('td'); cells[0].update("<a href='#' onClick='remRow(event.target);'>Delete</a> | <a href='#' onClick='editRow(event.target);'>Edit</a>"); cells[1].update(cells[1].getElementsByTagName("input")[0].value); cells[2].update("<em>Saved</em>"); cells[3].update(cells[3].getElementsByTagName("input")[0].value); }, onFailure:function(r){ alert("Save function failed!"); } }); } remRow = function(e){ while(e.nodeName.toLowerCase() != "tr"){ e = e.parentNode; } daUrl = "admin.php?page=users"; daUrl += "&action=removeUsers"; daUrl += "&userid="+(e.id); new Ajax.Request(daUrl,{ method:'get', onSuccess:function(r){ e.remove(); }, onFailure:function(r){ alert("Delete function failed!"); } }); } editRow = function(e){ while(e.nodeName.toLowerCase() != "tr"){ e = e.parentNode; } cells = e.getElementsByTagName('td'); cells[0].update("<input type='button' id='newCancel' value='Cancel' onClick='cancelEdit(event.target);'><input type='button' id='newSave' value='Save' onClick='saveRow(event.target);'>"); cells[1].update("<input o="+cells[1].innerHTML+" type='test' id='newName' value='"+cells[1].innerHTML+"'>"); cells[2].update("<input type='password' id='newPass'>"); cells[3].update("<input o="+cells[3].innerHTML+" type='test' id='newEmail' value='"+cells[3].innerHTML+"'>"); } cancelEdit = function(e){ while(e.nodeName.toLowerCase() != "tr"){ e = e.parentNode; } cells = e.getElementsByTagName('td'); cells[0].update("<a href='#' onClick='remRow(event.target);'>Delete</a> | <a href='#' onClick='editRow(event.target);'>Edit</a>"); cells[1].update(cells[1].getElementsByTagName("input")[0].getAttribute('o')); cells[2].update("<em>Saved</em>"); cells[3].update(cells[3].getElementsByTagName("input")[0].getAttribute('o')); } </script> <h1>User Management</h1> <table class="bordered"> <tr> <th></th> <th>Name</th> <th>Password</th> <th>Email</th> </tr> <tr> <td></td> <td><a href="#" onClick="addRow(event.target);">Add User</a></td> <td></td> <td></td> </tr> <?php $query = "SELECT * FROM users"; $result = mysql_query($query) or die(mysql_error()); while($r=mysql_fetch_assoc($result)){ echo "<tr id='uid_".$r['id']."'>"; echo " <td><a href='#' onClick='remRow(event.target);'>Delete</a> | <a href='#' onClick='editRow(event.target);'>Edit</a></td>"; echo " <td>".$r['name']."</td>"; echo " <td><em>Saved</em></td>"; echo " <td>".$r['email']."</td>"; echo "</tr>"; } ?> </table> Replace auth_zp.php with: <?php require_once("functions-db.php"); // If the auth variable gets set somehow before this, get rid of it. if (isset($_zp_loggedin)) unset($_zp_loggedin); $_zp_loggedin = false; // Fix the cookie's path for root installs. $cookiepath = WEBPATH; if (WEBPATH == '') { $cookiepath = '/'; } if (isset($_COOKIE['zenphoto_auth'])) { $saved_auth = $_COOKIE['zenphoto_auth']; $saved_user = $_COOKIE['zenphoto_user']; $query = "SELECT * FROM users WHERE name='$saved_user' LIMIT 1"; $result = mysql_query($query) or die(mysql_error()); $rows = mysql_num_rows($result); if ($rows>0){ $r = mysql_fetch_assoc($result); $check_auth = md5($r['name'].$r['pass']); } if ($rows>0 && $saved_auth==$check_auth) { $_zp_loggedin = true; } else { // Clear the cookie setcookie("zenphoto_auth", "", time()-368000, $cookiepath); setcookie("zenphoto_user", "", time()-368000, $cookiepath); } } else { // Handle the login form. if (isset($_POST['login']) && isset($_POST['user']) && isset($_POST['pass'])) { $user = $_POST['user']; $pass = MD5($_POST['pass']); $redirect = $_POST['redirect']; $query = "SELECT * FROM users WHERE name='$user' AND pass='$pass' LIMIT 1"; $result = mysql_query($query) or die(mysql_error()); if (mysql_num_rows($result)>0) { // Correct auth info. Set the cookie. setcookie("zenphoto_auth", md5($user.$pass), time()+5184000, $cookiepath); setcookie("zenphoto_user", $user, time()+5184000, $cookiepath); $_zp_loggedin = true; //// FIXME: Breaks IIS if (!empty($redirect)) { header("Location: " . FULLWEBPATH . $redirect); } //// } else { // Clear the cookie, just in case setcookie("zenphoto_auth", "", time()-368000, $cookiepath); setcookie("zenphoto_user", "", time()-368000, $cookiepath); $error = true; } } } unset($saved_auth, $check_auth, $user, $pass); // Handle a logout action. if (isset($_POST['logout']) || isset($_GET['logout'])) { setcookie("zenphoto_auth", "", time()-368000, $cookiepath); setcookie("zenphoto_user", "", time()-368000, $cookiepath); header("Location: " . FULLWEBPATH . "/"); } function zp_loggedin() { $_zp_loggedin = false; if (isset($_COOKIE['zenphoto_auth'])) { $saved_auth = $_COOKIE['zenphoto_auth']; $saved_user = $_COOKIE['zenphoto_user']; $query = "SELECT * FROM users WHERE name='$saved_user' LIMIT 1"; $result = mysql_query($query) or die(mysql_error()); $rows = mysql_num_rows($result); if ($rows>0){ $r = mysql_fetch_assoc($result); $check_auth = md5($r['name'].$r['pass']); if ($saved_auth==$check_auth){ $_zp_loggedin = true; } } } return $_zp_loggedin; } ?> Execute this SQL on your zenphoto table: CREATE TABLE users ( `id` INT( 255 ) NOT NULL AUTO_INCREMENT PRIMARY KEY , `name` VARCHAR( 255 ) NOT NULL , `pass` VARCHAR( 255 ) NOT NULL , `email` VARCHAR( 255 ) NOT NULL ); INSERT INTO users (`name`,`pass`,`email`) VALUES ('admin',MD5('password'),'you@yourdomain.com');
alias open=gnome-open alias copy="xclip -i" alias paste="xclip -o"
open mswd.doc
open tt.mov
open .
open http://u32.net
paste | tr a-z A-Z | copy
paste | tr A-Za-z N-ZA-Mn-za-m | copy
<a href="http://google.com" rel="lightbox|300">LB with height 300</a>
// ----------------------------------------------------------------------------------- // // Lightbox v2.02 // by Lokesh Dhakar - http://www.huddletogether.com // 3/31/06 // // hacked to use iframe for non-jpeg urls // by Tim Morgan - http://timmorgan.org // 8/9/06 // // For more information on this script, visit: // http://huddletogether.com/projects/lightbox2/ // ...and... // http://mpov.wordpress.com/2006/08/08/lightbox-with-iframes/ // // Licensed under the Creative Commons Attribution 2.5 License - http://creativecommons.org/licenses/by/2.5/ // // Credit also due to those who have helped, inspired, and made their code available to the public. // Including: Scott Upton(uptonic.com), Peter-Paul Koch(quirksmode.org), Thomas Fuchs(mir.aculo.us), and others. // // // ----------------------------------------------------------------------------------- /* Table of Contents ----------------- Configuration Global Variables Extending Built-in Objects - Object.extend(Element) - Array.prototype.removeDuplicates() - Array.prototype.empty() Lightbox Class Declaration - initialize() - start() - changeImage() - resizeImageContainer() - showImage() - updateDetails() - updateNav() - enableKeyboardNav() - disableKeyboardNav() - keyboardAction() - preloadNeighborImages() - end() Miscellaneous Functions - getPageScroll() - getPageSize() - getKey() - listenKey() - showSelectBoxes() - hideSelectBoxes() - pause() - initLightbox() Function Calls - addLoadEvent(initLightbox) */ // ----------------------------------------------------------------------------------- // // Configuration // var fileLoadingImage = "../images/loading.gif"; var fileBottomNavCloseImage = "../images/closelabel.gif"; var iframeWidth = 400; var iframeHeight = 450; var resizeSpeed = 10; // controls the speed of the image resizing (1=slowest and 10=fastest) var borderSize = 10; //if you adjust the padding in the CSS, you will need to update this variable // ----------------------------------------------------------------------------------- // // Global Variables // var imageArray = new Array; var activeImage; if(resizeSpeed > 10){ resizeSpeed = 10;} if(resizeSpeed < 1){ resizeSpeed = 1;} resizeDuration = (11 - resizeSpeed) * 0.15; // ----------------------------------------------------------------------------------- // // Additional methods for Element added by SU, Couloir // - further additions by Lokesh Dhakar (huddletogether.com) // Object.extend(Element, { getWidth: function(element) { element = $(element); return element.offsetWidth; }, setWidth: function(element,w) { element = $(element); element.style.width = w +"px"; }, setHeight: function(element,h) { element = $(element); element.style.height = h +"px"; }, setTop: function(element,t) { element = $(element); element.style.top = t +"px"; }, setSrc: function(element,src) { element = $(element); element.src = src; }, setHref: function(element,href) { element = $(element); element.href = href; }, setInnerHTML: function(element,content) { element = $(element); element.innerHTML = content; } }); // ----------------------------------------------------------------------------------- // // Extending built-in Array object // - array.removeDuplicates() // - array.empty() // Array.prototype.removeDuplicates = function () { for(i = 1; i < this.length; i++){ if(this[i][0] == this[i-1][0]){ this.splice(i,1); } } } // ----------------------------------------------------------------------------------- Array.prototype.empty = function () { for(i = 0; i <= this.length; i++){ this.shift(); } } // ----------------------------------------------------------------------------------- // // Lightbox Class Declaration // - initialize() // - start() // - changeImage() // - resizeImageContainer() // - showImage() // - updateDetails() // - updateNav() // - enableKeyboardNav() // - disableKeyboardNav() // - keyboardNavAction() // - preloadNeighborImages() // - end() // // Structuring of code inspired by Scott Upton (http://www.uptonic.com/) // var Lightbox = Class.create(); Lightbox.prototype = { // initialize() // Constructor runs on completion of the DOM loading. Loops through anchor tags looking for // 'lightbox' references and applies onclick events to appropriate links. The 2nd section of // the function inserts html at the bottom of the page which is used to display the shadow // overlay and the image container. // initialize: function() { if (!document.getElementsByTagName){ return; } var anchors = document.getElementsByTagName('a'); // loop through all anchor tags for (var i=0; i<anchors.length; i++){ var anchor = anchors[i]; var relAttribute = String(anchor.getAttribute('rel')); // use the string.match() method to catch 'lightbox' references in the rel attribute if (anchor.getAttribute('href') && (relAttribute.toLowerCase().match('lightbox'))){ anchor.onclick = function () {myLightbox.start(this); return false;} } } // The rest of this code inserts html at the bottom of the page that looks similar to this: // // <div id="overlay"></div> // <div id="lightbox"> // <div id="outerImageContainer"> // <div id="imageContainer"> // <img id="lightboxImage"> // <div style="" id="hoverNav"> // <a href="#" id="prevLink"></a> // <a href="#" id="nextLink"></a> // </div> // <div id="loading"> // <a href="#" id="loadingLink"> // <img src="images/loading.gif"> // </a> // </div> // </div> // </div> // <div id="imageDataContainer"> // <div id="imageData"> // <div id="imageDetails"> // <span id="caption"></span> // <span id="numberDisplay"></span> // </div> // <div id="bottomNav"> // <a href="#" id="bottomNavClose"> // <img src="images/close.gif"> // </a> // </div> // </div> // </div> // </div> var objBody = document.getElementsByTagName("body").item(0); var objOverlay = document.createElement("div"); objOverlay.setAttribute('id','overlay'); objOverlay.style.display = 'none'; //objOverlay.onclick = function() { myLightbox.end(); return false; } objBody.appendChild(objOverlay); var objLightbox = document.createElement("div"); objLightbox.setAttribute('id','lightbox'); objLightbox.style.display = 'none'; objBody.appendChild(objLightbox); var objOuterImageContainer = document.createElement("div"); objOuterImageContainer.setAttribute('id','outerImageContainer'); objLightbox.appendChild(objOuterImageContainer); var objImageContainer = document.createElement("div"); objImageContainer.setAttribute('id','imageContainer'); objOuterImageContainer.appendChild(objImageContainer); var objLightboxIframe = document.createElement("iframe"); objLightboxIframe.setAttribute('id','lightboxIframe'); objLightboxIframe.style.width = iframeWidth + 'px'; objLightboxIframe.style.height = iframeHeight + 'px'; objLightboxIframe.style.border = 'none'; objImageContainer.appendChild(objLightboxIframe); var objLightboxImage = document.createElement("img"); objLightboxImage.setAttribute('id','lightboxImage'); objImageContainer.appendChild(objLightboxImage); var objHoverNav = document.createElement("div"); objHoverNav.setAttribute('id','hoverNav'); objImageContainer.appendChild(objHoverNav); var objPrevLink = document.createElement("a"); objPrevLink.setAttribute('id','prevLink'); objPrevLink.setAttribute('href','#'); objHoverNav.appendChild(objPrevLink); var objNextLink = document.createElement("a"); objNextLink.setAttribute('id','nextLink'); objNextLink.setAttribute('href','#'); objHoverNav.appendChild(objNextLink); var objLoading = document.createElement("div"); objLoading.setAttribute('id','loading'); objImageContainer.appendChild(objLoading); var objLoadingLink = document.createElement("a"); objLoadingLink.setAttribute('id','loadingLink'); objLoadingLink.setAttribute('href','#'); objLoadingLink.onclick = function() { myLightbox.end(); return false; } objLoading.appendChild(objLoadingLink); var objLoadingImage = document.createElement("img"); objLoadingImage.setAttribute('src', fileLoadingImage); objLoadingLink.appendChild(objLoadingImage); var objImageDataContainer = document.createElement("div"); objImageDataContainer.setAttribute('id','imageDataContainer'); objImageDataContainer.className = 'clearfix'; objLightbox.appendChild(objImageDataContainer); var objImageData = document.createElement("div"); objImageData.setAttribute('id','imageData'); objImageDataContainer.appendChild(objImageData); var objImageDetails = document.createElement("div"); objImageDetails.setAttribute('id','imageDetails'); objImageData.appendChild(objImageDetails); var objCaption = document.createElement("span"); objCaption.setAttribute('id','caption'); objImageDetails.appendChild(objCaption); var objNumberDisplay = document.createElement("span"); objNumberDisplay.setAttribute('id','numberDisplay'); objImageDetails.appendChild(objNumberDisplay); var objBottomNav = document.createElement("div"); objBottomNav.setAttribute('id','bottomNav'); objImageData.appendChild(objBottomNav); var objBottomNavCloseLink = document.createElement("a"); objBottomNavCloseLink.setAttribute('id','bottomNavClose'); objBottomNavCloseLink.setAttribute('href','#'); objBottomNavCloseLink.onclick = function() { myLightbox.end(); return false; } objBottomNav.appendChild(objBottomNavCloseLink); var objBottomNavCloseImage = document.createElement("img"); objBottomNavCloseImage.setAttribute('src', fileBottomNavCloseImage); objBottomNavCloseLink.appendChild(objBottomNavCloseImage); }, // // start() // Display overlay and lightbox. If image is part of a set, add siblings to imageArray. // start: function(imageLink) { hideSelectBoxes(); // stretch overlay to fill page and fade in var arrayPageSize = getPageSize(); Element.setHeight('overlay', arrayPageSize[1]); new Effect.Appear('overlay', { duration: 0.2, from: 0.0, to: 0.8 }); imageArray = []; imageNum = 0; if (!document.getElementsByTagName){ return; } var anchors = document.getElementsByTagName('a'); var rel = imageLink.getAttribute('rel'); // if image is NOT part of a set.. if(!rel.match(/\[/)){ // add single image to imageArray imageArray.push(new Array(imageLink.getAttribute('href'), imageLink.getAttribute('title'))); if(rel.match(/\|/)) iframeHeight = parseInt(rel.split(/\|/)[1]); } else { // if image is part of a set.. // loop through anchors, find other images in set, and add them to imageArray for (var i=0; i<anchors.length; i++){ var anchor = anchors[i]; if (anchor.getAttribute('href') && (anchor.getAttribute('rel') == imageLink.getAttribute('rel'))){ imageArray.push(new Array(anchor.getAttribute('href'), anchor.getAttribute('title'))); } } imageArray.removeDuplicates(); while(imageArray[imageNum][0] != imageLink.getAttribute('href')) { imageNum++;} } // calculate top offset for the lightbox and display var arrayPageSize = getPageSize(); var arrayPageScroll = getPageScroll(); var lightboxTop = arrayPageScroll[1] + (arrayPageSize[3] / 15); Element.setTop('lightbox', lightboxTop); Element.show('lightbox'); this.changeImage(imageNum); }, // // changeImage() // Hide most elements and preload image in preparation for resizing image container. // changeImage: function(imageNum) { activeImage = imageNum; // update global var // hide elements during transition Element.show('loading'); Element.hide('lightboxImage'); Element.hide('lightboxIframe'); Element.hide('hoverNav'); Element.hide('prevLink'); Element.hide('nextLink'); Element.hide('imageDataContainer'); Element.hide('numberDisplay'); if(imageArray[activeImage][0].match