Skip to content

Instantly share code, notes, and snippets.

View C-Duv's full-sized avatar

Duvergier Claude C-Duv

View GitHub Profile
@C-Duv
C-Duv / foreach_is_modifying_array_cursor_from_outside.php
Created July 21, 2015 10:39
PHP snippet to highlight an array cursor being modified from outside an object or a class
<?php
/**
* Snippet to highlight an array cursor being modified from outside an object or
* a class
**/
class MyClass
{
protected $arr = [];
@C-Duv
C-Duv / extract_shell_from_markdown.php
Created May 27, 2015 22:47
Markdown to Shell conversion
#!/usr/bin/php
<?php
/**
* Script to extract any Shell commands from a Markdown document
*
* It takes a Markdown stream (from STDIN) and only keeps the "```Shell"-blocks content.
* By adding a Shebang first, the ouput is directly executable.
*/
@C-Duv
C-Duv / 1. How to handle, the unique references,codes,ids in both source code and storage?.md
Last active August 29, 2015 14:06
How to handle, the unique references/codes/ids in both source code and storage (eg. database, flat file, etc.)?

TL;DR: Say you have, in a website application, a permission system (user can/cannot access specific section). You need a "name" for this permission/right (eg. can_access_admin) which will somehow be used by storage system (to keep track the fact a user has this right) and into source code (to ask fetch into storage to see if user has the right to access admin area). What form this right "name" has? bits? string? How to use it efficiently in source code: as it (copy/paste)? constant?

When designing a website application you oftenly use concepts such as user permission (eg. access to admin area is granted) and preference (eg. maximum number of results to display in projects list) that will be used among all application.

It boils down to a reference/ID in the form of a string (eg. can_access_admin), bit sequence (eg. 10111) or even integer (42) to use in your source code:

  • Where you fetch value/presence from storage
@C-Duv
C-Duv / LibreofficeCalc-KiB-to-UpperBinaryPrefixes
Created December 13, 2013 12:18
Pour LibreOffice Calc : Convertir des Kio en Kio, Mio, Gio, Tio tout en affichant l'unité. Notes : * Dans l'exemple, les Kio sont contenu dans la cellule A1 * Un arrondi est effectué (peut être retiré sans impact autre que visuel)
=SI(
A1/1024>=1;
SI(
A1/1024/1024>=1;
SI(
A1/1024/1024/1024>=1;
CONCATENER(ARRONDI(A1/1024/1024/1024;3);" Tio");
CONCATENER(ARRONDI(A1/1024/1024;3);" Gio")
);
CONCATENER(ARRONDI(A1/1024;3);" Mio")
--- Zend Framework 1.12.1/library/Zend/Session/Exception.php Thu Jan 05 21:35:02 2012
+++ Zend Framework - Fixed/library/Zend/Session/Exception.php Thu Jan 03 03:17:37 2013
@@ -55,7 +55,9 @@
*/
static public function handleSessionStartError($errno, $errstr, $errfile, $errline, $errcontext)
{
- self::$sessionStartError = $errfile . '(Line:' . $errline . '): Error #' . $errno . ' ' . $errstr;
+ if (error_reporting() !== 0) {
+ self::$sessionStartError = $errfile . '(Line:' . $errline . '): Error #' . $errno . ' ' . $errstr;
+ }
@C-Duv
C-Duv / IndexController.php
Created January 3, 2013 02:28
Reproduction code for ZF-12494 (http://framework.zend.com/issues/browse/ZF-12494): A class implementing __wakeup() and a controller using it.
<?php
class IndexController extends Zend_Controller_Action
{
public function indexAction()
{
switch ($this->_getParam('what', 'test')) {
case 'store': $this->_store(); break;
case 'retrieve': $this->_retrieve(); break;
case 'clear': $this->_clear(); break;