Ejemplo n.º 1
0
        && (min = ONPHP_READ_PROPERTY(getThis(), "min"))
        && (max = ONPHP_READ_PROPERTY(getThis(), "max"))
        && !(
            (IS_NULL != Z_TYPE_P(min))
            && (Z_LVAL_P(out) < Z_LVAL_P(min))
        ) && !(
            (IS_NULL != Z_TYPE_P(max))
            && (Z_LVAL_P(out) > Z_LVAL_P(max))
        )
    ) {
        ONPHP_UPDATE_PROPERTY_LONG(getThis(), "value", Z_LVAL_P(out));

        RETVAL_TRUE;
    } else {
        RETVAL_FALSE;
    }

    zval_ptr_dtor(&out);
}

static ONPHP_ARGINFO_ONE;

zend_function_entry onphp_funcs_PrimitiveNumber[] = {
    ONPHP_ABSTRACT_ME(PrimitiveNumber, checkNumber, arginfo_one, ZEND_ACC_PROTECTED)
    ONPHP_ABSTRACT_ME(PrimitiveNumber, castNumber, arginfo_one, ZEND_ACC_PROTECTED)
    ONPHP_ME(PrimitiveNumber, import, arginfo_one, ZEND_ACC_PUBLIC)
    {
        NULL, NULL, NULL
    }
};
Ejemplo n.º 2
0
/***************************************************************************
 *   Copyright (C) 2006-2007 by Konstantin V. Arkhipov                     *
 *                                                                         *
 *   This program is free software; you can redistribute it and/or modify  *
 *   it under the terms of the GNU Lesser General Public License as        *
 *   published by the Free Software Foundation; either version 3 of the    *
 *   License, or (at your option) any later version.                       *
 *                                                                         *
 ***************************************************************************/
/* $Id$ */

#include "onphp.h"

ONPHP_SETTER(Castable, castTo, cast);

static ONPHP_ARGINFO_ONE;

zend_function_entry onphp_funcs_Castable[] = {
	ONPHP_ME(Castable, castTo, arginfo_one, ZEND_ACC_PUBLIC)
	{NULL, NULL, NULL}
};
Ejemplo n.º 3
0
	smart_str_0(&string);
	
	RETURN_STRINGL(string.c, string.len, 0);
}

static
	ZEND_BEGIN_ARG_INFO(arginfo_sql_join, 0)
		ZEND_ARG_OBJ_INFO(0, sql_join, SQLJoin, 0)
	ZEND_END_ARG_INFO();

static
	ZEND_BEGIN_ARG_INFO(arginfo_sql_left_join, 0)
		ZEND_ARG_OBJ_INFO(0, sql_left_join, SQLLeftJoin, 0)
	ZEND_END_ARG_INFO();

static ONPHP_ARGINFO_ONE;
static ONPHP_ARGINFO_DIALECT;
static ONPHP_ARGINFO_FROM_TABLE;

zend_function_entry onphp_funcs_Joiner[] = {
	ONPHP_ME(Joiner, __construct, NULL, ZEND_ACC_PUBLIC | ZEND_ACC_CTOR)
	ONPHP_ME(Joiner, from, arginfo_from_table, ZEND_ACC_PUBLIC)
	ONPHP_ME(Joiner, hasJoinedTable, arginfo_one, ZEND_ACC_PUBLIC)
	ONPHP_ME(Joiner, getTablesCount, NULL, ZEND_ACC_PUBLIC)
	ONPHP_ME(Joiner, join, arginfo_sql_join, ZEND_ACC_PUBLIC)
	ONPHP_ME(Joiner, leftJoin, arginfo_sql_left_join, ZEND_ACC_PUBLIC)
	ONPHP_ME(Joiner, getLastTable, NULL, ZEND_ACC_PUBLIC)
	ONPHP_ME(Joiner, toDialectString, arginfo_dialect, ZEND_ACC_PUBLIC)
	{NULL, NULL, NULL}
};
Ejemplo n.º 4
0
/***************************************************************************
 *   Copyright (C) 2006-2007 by Konstantin V. Arkhipov                     *
 *                                                                         *
 *   This program is free software; you can redistribute it and/or modify  *
 *   it under the terms of the GNU Lesser General Public License as        *
 *   published by the Free Software Foundation; either version 3 of the    *
 *   License, or (at your option) any later version.                       *
 *                                                                         *
 ***************************************************************************/
/* $Id$ */

#include "onphp.h"

ONPHP_METHOD(StaticFactory, __construct)
{
	// doh
}

zend_function_entry onphp_funcs_StaticFactory[] = {
	ONPHP_ME(StaticFactory, __construct, NULL, ZEND_ACC_FINAL | ZEND_ACC_PRIVATE | ZEND_ACC_CTOR)
	{NULL, NULL, NULL}
};
Ejemplo n.º 5
0
ONPHP_METHOD(Singleton, getAllInstances)
{
	RETURN_ZVAL(instances, 1, 0);
}

PHP_RINIT_FUNCTION(Singleton)
{
	ALLOC_INIT_ZVAL(instances);
	array_init(instances);
	
	return SUCCESS;
}

PHP_RSHUTDOWN_FUNCTION(Singleton)
{
	zval_ptr_dtor(&instances);

	return SUCCESS;
}

static ONPHP_ARGINFO_ONE;

zend_function_entry onphp_funcs_Singleton[] = {
	ONPHP_ME(Singleton, __construct,		NULL, ZEND_ACC_PROTECTED | ZEND_ACC_CTOR)
	ONPHP_ME(Singleton, getInstance,		arginfo_one, ZEND_ACC_FINAL | ZEND_ACC_PUBLIC | ZEND_ACC_STATIC)
	ONPHP_ME(Singleton, getAllInstances,	NULL, ZEND_ACC_FINAL | ZEND_ACC_PUBLIC | ZEND_ACC_STATIC)
	ONPHP_ME(Singleton, __clone,			NULL, ZEND_ACC_FINAL | ZEND_ACC_PRIVATE)
	ONPHP_ME(Singleton, __sleep,			NULL, ZEND_ACC_FINAL | ZEND_ACC_PRIVATE)
	{NULL, NULL, NULL}
};
Ejemplo n.º 6
0
ONPHP_METHOD(DBBinary, toDialectString)
{
	zval *dialect, *value, *quoted;
	smart_str string = {0};
	
	ONPHP_GET_ARGS("O", &dialect, onphp_ce_Dialect);
	
	ONPHP_CALL_METHOD_0(getThis(), "getvalue", &value);
	
	ONPHP_CALL_METHOD_1(dialect, "quotebinary", &quoted, value);
	
	zval_ptr_dtor(&value);
	
	smart_str_appendc(&string, '\'');
	onphp_append_zval_to_smart_string(&string, quoted);
	zval_ptr_dtor(&quoted);
	smart_str_appendc(&string, '\'');
	smart_str_0(&string);
	
	RETURN_STRINGL(string.c, string.len, 0);
}

static ONPHP_ARGINFO_ONE;
static ONPHP_ARGINFO_DIALECT;

zend_function_entry onphp_funcs_DBBinary[] = {
	ONPHP_ME(DBBinary, create, arginfo_one, ZEND_ACC_PUBLIC | ZEND_ACC_STATIC)
	ONPHP_ME(DBBinary, toDialectString, arginfo_dialect, ZEND_ACC_PUBLIC)
	{NULL, NULL, NULL}
};
Ejemplo n.º 7
0
	if (EG(exception)) {
		ZVAL_FREE(whatString);
		return;
	}
	
	smart_str_appendl(&string, "EXTRACT(", 8);
	onphp_append_zval_to_smart_string(&string, whatString);
	smart_str_appendl(&string, " FROM ", 6);
	onphp_append_zval_to_smart_string(&string, fromString);
	smart_str_appendc(&string, ')');
	smart_str_0(&string);
	
	zval_ptr_dtor(&whatString);
	zval_ptr_dtor(&fromString);
	
	RETURN_STRINGL(string.c, string.len, 0);
}


static ONPHP_ARGINFO_TWO;
static ONPHP_ARGINFO_TO_MAPPED;
static ONPHP_ARGINFO_DIALECT;

zend_function_entry onphp_funcs_ExtractPart[] = {
	ONPHP_ME(ExtractPart, create, arginfo_two, ZEND_ACC_PUBLIC | ZEND_ACC_STATIC)
	ONPHP_ME(ExtractPart, __construct, arginfo_two, ZEND_ACC_PUBLIC | ZEND_ACC_CTOR)
	ONPHP_ME(ExtractPart, toMapped, arginfo_to_mapped, ZEND_ACC_PUBLIC)
	ONPHP_ME(ExtractPart, toDialectString, arginfo_dialect, ZEND_ACC_PUBLIC)
	{NULL, NULL, NULL}
};
Ejemplo n.º 8
0
ONPHP_METHOD(QueryIdentification, toString)
{
	zval *out, *imdi;
	
	ONPHP_CALL_STATIC_0(ImaginaryDialect, "me", &imdi);
	
	ONPHP_CALL_METHOD_1_NORET(getThis(), "todialectstring", &out, imdi);
	
	zval_ptr_dtor(&imdi);
	
	if (EG(exception)) {
		return;
	}
	
	RETURN_ZVAL(out, 1, 1);
}

ONPHP_METHOD(QueryIdentification, setId)
{
	ONPHP_THROW(UnsupportedMethodException, NULL);
}

static ONPHP_ARGINFO_ONE;

zend_function_entry onphp_funcs_QueryIdentification[] = {
	ONPHP_ME(QueryIdentification, getId, NULL, ZEND_ACC_PUBLIC)
	ONPHP_ME(QueryIdentification, setId, arginfo_one, ZEND_ACC_FINAL | ZEND_ACC_PUBLIC)
	ONPHP_ME(QueryIdentification, toString, NULL, ZEND_ACC_PUBLIC)
	{NULL, NULL, NULL}
};
Ejemplo n.º 9
0
		ONPHP_CALL_METHOD_1_NORET(from_table, "__construct", NULL, table);
		
		if (EG(exception)) {
			ZVAL_FREE(from_table);
			return;
		}
		
		ONPHP_UPDATE_PROPERTY(getThis(), "table", from_table);
		
		zval_ptr_dtor(&from_table);
	} else {
		ONPHP_UPDATE_PROPERTY(getThis(), "table", table);
	}
	
	RETURN_THIS;
}

static ONPHP_ARGINFO_ONE;
static ONPHP_ARGINFO_TWO;
static ONPHP_ARGINFO_DIALECT;

zend_function_entry onphp_funcs_DBField[] = {
	ONPHP_ME(DBField, create, arginfo_two, ZEND_ACC_PUBLIC | ZEND_ACC_STATIC)
	ONPHP_ME(DBField, __construct, arginfo_two, ZEND_ACC_PUBLIC | ZEND_ACC_CTOR)
	ONPHP_ME(DBField, getField, NULL, ZEND_ACC_PUBLIC)
	ONPHP_ME(DBField, getTable, NULL, ZEND_ACC_PUBLIC)
	ONPHP_ME(DBField, setTable, arginfo_one, ZEND_ACC_PUBLIC)
	ONPHP_ME(DBField, toDialectString, arginfo_dialect, ZEND_ACC_PUBLIC)
	{NULL, NULL, NULL}
};
Ejemplo n.º 10
0
			RETURN_STRINGL("true", 4, 1);
		} else {
			RETURN_STRINGL("false", 5, 1);
		}
	} else if (Z_TYPE_P(trinity) == IS_NULL) {
		RETURN_STRINGL("null", 4, 1);
	}
	
	ONPHP_THROW(WrongStateException, NULL);
}

static ONPHP_ARGINFO_TWO;
static ONPHP_ARGINFO_THREE;

zend_function_entry onphp_funcs_Ternary[] = {
	ONPHP_ME(Ternary, __construct, NULL, ZEND_ACC_PUBLIC | ZEND_ACC_CTOR)
	ONPHP_ME(Ternary, create, NULL, ZEND_ACC_PUBLIC | ZEND_ACC_STATIC)
	ONPHP_ME(Ternary, spawn, arginfo_three, ZEND_ACC_PUBLIC | ZEND_ACC_STATIC)
	ONPHP_ME(Ternary, isNull, NULL, ZEND_ACC_PUBLIC)
	ONPHP_ME(Ternary, isTrue, NULL, ZEND_ACC_PUBLIC)
	ONPHP_ME(Ternary, isFalse, NULL, ZEND_ACC_PUBLIC)
	ONPHP_ME(Ternary, setNull, NULL, ZEND_ACC_PUBLIC)
	ONPHP_ME(Ternary, setTrue, NULL, ZEND_ACC_PUBLIC)
	ONPHP_ME(Ternary, setFalse, NULL, ZEND_ACC_PUBLIC)
	ONPHP_ME(Ternary, getValue, NULL, ZEND_ACC_PUBLIC)
	ONPHP_ME(Ternary, setValue, NULL, ZEND_ACC_PUBLIC)
	ONPHP_ME(Ternary, decide, arginfo_two, ZEND_ACC_PUBLIC)
	ONPHP_ME(Ternary, toString, NULL, ZEND_ACC_PUBLIC)
	{NULL, NULL, NULL}
};
Ejemplo n.º 11
0
{
	zval *dialect, *cast, *value, *out, *result;
	
	ONPHP_GET_ARGS("O", &dialect, onphp_ce_Dialect);
	
	value = ONPHP_READ_PROPERTY(getThis(), "value");
	
	ONPHP_CALL_METHOD_1(dialect, "quotevalue", &out, value);
	
	cast = ONPHP_READ_PROPERTY(getThis(), "cast");
	
	if (Z_STRLEN_P(cast)) {
		ONPHP_CALL_METHOD_2(dialect, "tocasted", &result, out, cast);
		zval_ptr_dtor(&out);
		RETURN_ZVAL(result, 1, 1);
	} else {
		RETURN_ZVAL(out, 1, 1);
	}
}

static ONPHP_ARGINFO_ONE;
static ONPHP_ARGINFO_DIALECT;

zend_function_entry onphp_funcs_DBValue[] = {
	ONPHP_ME(DBValue, create, arginfo_one, ZEND_ACC_PUBLIC | ZEND_ACC_STATIC)
	ONPHP_ME(DBValue, __construct, arginfo_one, ZEND_ACC_PUBLIC | ZEND_ACC_CTOR)
	ONPHP_ME(DBValue, getValue, NULL, ZEND_ACC_PUBLIC)
	ONPHP_ME(DBValue, toDialectString, arginfo_dialect, ZEND_ACC_PUBLIC)
	{NULL, NULL, NULL}
};
Ejemplo n.º 12
0
				add_index_null(whereLogic, i + 1);
			}
			
			zval_ptr_dtor(&out);
		}
		
		retval = (char *) php_trim(clause.c, clause.len, " ", 1, NULL, 2 TSRMLS_CC);
		smart_str_0(&clause);
		smart_str_free(&clause);
		retval_len = strlen(retval);
		
		RETURN_STRINGL(retval, retval_len, 0);
	}
	
	RETURN_NULL();
}

static ONPHP_ARGINFO_LOGICAL_OBJECT;
static ONPHP_ARGINFO_LOGICAL_OBJECT_AND_ONE;
static ONPHP_ARGINFO_DIALECT;

zend_function_entry onphp_funcs_QuerySkeleton[] = {
	ONPHP_ME(QuerySkeleton, __construct, NULL, ZEND_ACC_PUBLIC | ZEND_ACC_CTOR)
	ONPHP_ME(QuerySkeleton, __clone, NULL, ZEND_ACC_PUBLIC | ZEND_ACC_CLONE)
	ONPHP_ME(QuerySkeleton, where, arginfo_logical_object_and_one, ZEND_ACC_PUBLIC)
	ONPHP_ME(QuerySkeleton, andWhere, arginfo_logical_object, ZEND_ACC_PUBLIC)
	ONPHP_ME(QuerySkeleton, orWhere, arginfo_logical_object, ZEND_ACC_PUBLIC)
	ONPHP_ME(QuerySkeleton, toDialectString, arginfo_dialect, ZEND_ACC_PUBLIC)
	{NULL, NULL, NULL}
};
Ejemplo n.º 13
0
/***************************************************************************
 *   Copyright (C) 2007 by Konstantin V. Arkhipov                          *
 *                                                                         *
 *   This program is free software; you can redistribute it and/or modify  *
 *   it under the terms of the GNU Lesser General Public License as        *
 *   published by the Free Software Foundation; either version 3 of the    *
 *   License, or (at your option) any later version.                       *
 *                                                                         *
 ***************************************************************************/
/* $Id$ */

#include "onphp.h"

ONPHP_SETTER(SgmlToken, setValue, value);
ONPHP_GETTER(SgmlToken, getValue, value);

static ONPHP_ARGINFO_ONE;

zend_function_entry onphp_funcs_SgmlToken[] = {
	ONPHP_ME(SgmlToken, setValue, arginfo_one, ZEND_ACC_PUBLIC)
	ONPHP_ME(SgmlToken, getValue, NULL, ZEND_ACC_PUBLIC)
	{NULL, NULL, NULL}
};