Skip to content
This repository has been archived by the owner on Jun 8, 2021. It is now read-only.

Commit

Permalink
Initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
Tommy Muehle committed Jun 3, 2017
0 parents commit bb71b87
Show file tree
Hide file tree
Showing 15 changed files with 273 additions and 0 deletions.
29 changes: 29 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
.deps
*.lo
*.la
.libs
acinclude.m4
aclocal.m4
autom4te.cache
build
config.guess
config.h
config.h.in
config.log
config.nice
config.status
config.sub
configure
configure.in
include
install-sh
libtool
ltmain.sh
Makefile
Makefile.fragments
Makefile.global
Makefile.objects
missing
mkinstalldirs
modules
run-tests.php
25 changes: 25 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# Goodbye move:elevator

My farewell gift for the remaining colleagues at move:elevator.

## Requirements

* PHP >= 7.0

## Install

```
git clone https://github.com/tommy-muehle/php-in-memoriam-extension
cd php-in-memoriam-extension
phpize
./configure --enable-in-memoriam
make
make test
make install
```

## Usage

Take a look [here](examples).


8 changes: 8 additions & 0 deletions config.m4
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
PHP_ARG_ENABLE(in_memoriam,
[Whether to enable the "In memoriam" extension],
[ --enable-in-memoriam Enable "in memoriam" extension support])

if test $PHP_IN_MEMORIAM != "no"; then
PHP_SUBST(IN_MEMORIAM_SHARED_LIBADD)
PHP_NEW_EXTENSION(in_memoriam, in_memoriam.c, $ext_shared)
fi
7 changes: 7 additions & 0 deletions examples/halle_of_fame.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
<?php

if (!extension_loaded('in_memoriam')) {
die('Extension "in_memoriam" are required!');
}

var_dump(\in_memoriam\show_hall_of_fame());
7 changes: 7 additions & 0 deletions examples/phpinfo.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
<?php

if (!extension_loaded('in_memoriam')) {
die('Extension "in_memoriam" are required!');
}

phpinfo();
8 changes: 8 additions & 0 deletions examples/show_sascha.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
<?php

if (!extension_loaded('in_memoriam')) {
die('Extension "in_memoriam" are required!');
}

// you can also show_marcel, show_patrick, show_martin and of course show_tommy :-)
echo '<img src="data:' . \in_memoriam\show_sascha() . '"/>';
88 changes: 88 additions & 0 deletions in_memoriam.c

Large diffs are not rendered by default.

21 changes: 21 additions & 0 deletions php_in_memoriam.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
#ifndef PHP_IN_MEMORIAM_H
#define PHP_IN_MEMORIAM_H

#define PHP_IN_MEMORIAM_EXT_NAME "in_memoriam"
#define PHP_IN_MEMORIAM_EXT_VERSION "1.0"

#ifdef HAVE_CONFIG_H
#include "config.h"
#endif /* HAVE_CONFIG_H */

#include "php.h"

#ifdef ZTS
#include "TSRM.h"
#endif

#if defined(ZTS) && defined(COMPILE_DL_IN_MEMORIAM)
ZEND_TSRMLS_CACHE_EXTERN()
#endif

#endif /* PHP_IN_MEMORIAM_H */
17 changes: 17 additions & 0 deletions tests/001.phpt
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
--TEST--
Can get Hall of Fame
--SKIPIF--
<?php if (!extension_loaded("in_memoriam")) print "skip"; ?>
--FILE--
<?php
print_r(\in_memoriam\get_hall_of_fame());
?>
--EXPECT--
Array
(
[Martin Waury] => 09/2012 - 10/2014
[Sascha Seyfert] => 11/2009 - 01/2017
[Marcel Fuehrer] => 04/2013 - 05/2017
[Patrick Paechnatz] => 01/2014 - 06/2017
[Tommy Muehle] => 04/2010 - 06/2017
)
10 changes: 10 additions & 0 deletions tests/002.phpt

Large diffs are not rendered by default.

10 changes: 10 additions & 0 deletions tests/003.phpt

Large diffs are not rendered by default.

10 changes: 10 additions & 0 deletions tests/004.phpt

Large diffs are not rendered by default.

10 changes: 10 additions & 0 deletions tests/005.phpt
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
--TEST--
Can get Martin's image
--SKIPIF--
<?php if (!extension_loaded("in_memoriam")) print "skip"; ?>
--FILE--
<?php
echo \in_memoriam\show_martin();
?>
--EXPECT--
data:image/jpeg;base64,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
10 changes: 10 additions & 0 deletions tests/006.phpt

Large diffs are not rendered by default.

13 changes: 13 additions & 0 deletions tests/007.phpt
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
--TEST--
Can find beloved former colleagues in phpinfo()
--SKIPIF--
<?php if (!extension_loaded("in_memoriam")) print "skip"; ?>
--FILE--
<?php
ob_start();
$info = phpinfo(INFO_MODULES);
$phpinfo = ob_get_clean();
var_dump(preg_match('/Beloved former colleagues/', $phpinfo));
?>
--EXPECT--
int(1)

0 comments on commit bb71b87

Please sign in to comment.