/** * Alias of Phalcon\Tag::setDefault * * @param string $id * @param string $value */ PHP_METHOD(Phalcon_Tag, displayTo){ zval *id, *value, *default_value; PHALCON_MM_GROW(); phalcon_fetch_params(1, 2, 0, &id, &value); PHALCON_INIT_VAR(default_value); PHALCON_CALL_SELF_PARAMS_2(default_value, this_ptr, "setdefault", id, value); RETURN_CCTOR(default_value); }
/** * Builds a HTML input[type="radio"] tag * *<code> * echo Phalcon\Tag::radioField(array("name")) *</code> * * Volt syntax: *<code> * {{ radio_field('Save') }} *</code> * * @param array $parameters * @return string */ PHP_METHOD(Phalcon_Tag, radioField){ zval *parameters, *name, *html; PHALCON_MM_GROW(); phalcon_fetch_params(1, 1, 0, ¶meters); PHALCON_INIT_VAR(name); ZVAL_STRING(name, "radio", 1); PHALCON_INIT_VAR(html); PHALCON_CALL_SELF_PARAMS_2(html, this_ptr, "_inputfield", name, parameters); RETURN_CCTOR(html); }
/** * Alias of Phalcon\Tag::setDefault * * @param string $id * @param string $value */ PHP_METHOD(Phalcon_Tag, displayTo){ zval *id, *value, *default_value; PHALCON_MM_GROW(); if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "zz", &id, &value) == FAILURE) { PHALCON_MM_RESTORE(); RETURN_NULL(); } PHALCON_INIT_VAR(default_value); PHALCON_CALL_SELF_PARAMS_2(default_value, this_ptr, "setdefault", id, value); RETURN_CCTOR(default_value); }
/** * Builds a HTML input[type="radio"] tag * *<code> * echo Phalcon\Tag::radioField(array("name", "size" => 30)) *</code> * * @param array $parameters * @return string */ PHP_METHOD(Phalcon_Tag, radioField){ zval *parameters, *name, *html; PHALCON_MM_GROW(); if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z", ¶meters) == FAILURE) { PHALCON_MM_RESTORE(); RETURN_NULL(); } PHALCON_INIT_VAR(name); ZVAL_STRING(name, "radio", 1); PHALCON_INIT_VAR(html); PHALCON_CALL_SELF_PARAMS_2(html, this_ptr, "_inputfield", name, parameters); RETURN_CCTOR(html); }
/** * Builds a HTML input[type="check"] tag * * @param array $parameters * @return string */ PHP_METHOD(Phalcon_Tag, checkField){ zval *parameters = NULL, *html = NULL; zval *c0 = NULL; PHALCON_MM_GROW(); if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z", ¶meters) == FAILURE) { PHALCON_MM_RESTORE(); RETURN_NULL(); } PHALCON_INIT_VAR(c0); ZVAL_STRING(c0, "checkbox", 1); PHALCON_INIT_VAR(html); PHALCON_CALL_SELF_PARAMS_2(html, this_ptr, "_inputfield", c0, parameters); RETURN_CCTOR(html); }
/** * Shows a HTML warning message * * @param string $message * @param string $classes * @return string */ PHP_METHOD(Phalcon_Flash, warning){ zval *message = NULL, *classes = NULL; zval *r0 = NULL; PHALCON_MM_GROW(); if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z|z", &message, &classes) == FAILURE) { PHALCON_MM_RESTORE(); RETURN_NULL(); } if (!classes) { PHALCON_ALLOC_ZVAL_MM(classes); ZVAL_STRING(classes, "warningMessage", 1); } PHALCON_ALLOC_ZVAL_MM(r0); PHALCON_CALL_SELF_PARAMS_2(r0, this_ptr, "_showmessage", message, classes); RETURN_CTOR(r0); }
/** * Shows a HTML notice/information message * * @param string $message * @param string $classes * @return string */ PHP_METHOD(Phalcon_Flash, notice){ zval *message = NULL, *classes = NULL, *flash_message = NULL; PHALCON_MM_GROW(); if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z|z", &message, &classes) == FAILURE) { PHALCON_MM_RESTORE(); RETURN_NULL(); } if (!classes) { PHALCON_ALLOC_ZVAL_MM(classes); ZVAL_STRING(classes, "noticeMessage", 1); } PHALCON_INIT_VAR(flash_message); PHALCON_CALL_SELF_PARAMS_2(flash_message, this_ptr, "_showmessage", message, classes); RETURN_CCTOR(flash_message); }
/** * Builds generic INPUT tags * * @param string $type * @param array $parameters * @param boolean $asValue * @return string */ PHP_METHOD(Phalcon_Tag, _inputField){ zval *type, *parameters, *as_value = NULL, *params = NULL, *value = NULL; zval *id = NULL, *name, *code, *key = NULL, *five, *doctype, *is_xhtml; HashTable *ah0; HashPosition hp0; zval **hd; PHALCON_MM_GROW(); phalcon_fetch_params(1, 2, 1, &type, ¶meters, &as_value); if (!as_value) { PHALCON_INIT_VAR(as_value); ZVAL_BOOL(as_value, 0); } if (Z_TYPE_P(parameters) != IS_ARRAY) { PHALCON_INIT_VAR(params); array_init_size(params, 1); phalcon_array_append(¶ms, parameters, PH_SEPARATE TSRMLS_CC); } else { PHALCON_CPY_WRT(params, parameters); } PHALCON_INIT_VAR(value); if (PHALCON_IS_FALSE(as_value)) { if (!phalcon_array_isset_long(params, 0)) { PHALCON_OBS_VAR(id); phalcon_array_fetch_string(&id, params, SL("id"), PH_NOISY_CC); phalcon_array_update_long(¶ms, 0, &id, PH_COPY | PH_SEPARATE TSRMLS_CC); } PHALCON_OBS_NVAR(id); phalcon_array_fetch_long(&id, params, 0, PH_NOISY_CC); if (!phalcon_array_isset_string(params, SS("name"))) { phalcon_array_update_string(¶ms, SL("name"), &id, PH_COPY | PH_SEPARATE TSRMLS_CC); } else { PHALCON_OBS_VAR(name); phalcon_array_fetch_string(&name, params, SL("name"), PH_NOISY_CC); if (!zend_is_true(name)) { phalcon_array_update_string(¶ms, SL("name"), &id, PH_COPY | PH_SEPARATE TSRMLS_CC); } } /** * Automatically assign the id if the name is not an array */ if (!phalcon_memnstr_str(id, SL("[") TSRMLS_CC)) { if (!phalcon_array_isset_string(params, SS("id"))) { phalcon_array_update_string(¶ms, SL("id"), &id, PH_COPY | PH_SEPARATE TSRMLS_CC); } } if (!phalcon_array_isset_string(params, SS("value"))) { PHALCON_CALL_SELF_PARAMS_2(value, this_ptr, "getvalue", id, params); phalcon_array_update_string(¶ms, SL("value"), &value, PH_COPY | PH_SEPARATE TSRMLS_CC); } } else { if (phalcon_array_isset_long(params, 0)) { PHALCON_OBS_NVAR(value); phalcon_array_fetch_long(&value, params, 0, PH_NOISY_CC); phalcon_array_update_string(¶ms, SL("value"), &value, PH_COPY | PH_SEPARATE TSRMLS_CC); } } /** * Automatically check inputs */ if (PHALCON_IS_STRING(type, "checkbox")) { if (zend_is_true(value)) { phalcon_array_update_string_string(¶ms, SL("checked"), SL("checked"), PH_SEPARATE TSRMLS_CC); } } else { if (PHALCON_IS_STRING(type, "radio")) { if (zend_is_true(value)) { phalcon_array_update_string_string(¶ms, SL("checked"), SL("checked"), PH_SEPARATE TSRMLS_CC); } } } PHALCON_INIT_VAR(code); PHALCON_CONCAT_SVS(code, "<input type=\"", type, "\""); if (!phalcon_is_iterable(params, &ah0, &hp0, 0, 0 TSRMLS_CC)) { return; } while (zend_hash_get_current_data_ex(ah0, (void**) &hd, &hp0) == SUCCESS) { PHALCON_GET_FOREACH_KEY(key, ah0, hp0); PHALCON_GET_FOREACH_VALUE(value); if (Z_TYPE_P(key) != IS_LONG) { PHALCON_SCONCAT_SVSVS(code, " ", key, "=\"", value, "\""); } zend_hash_move_forward_ex(ah0, &hp0); } PHALCON_INIT_VAR(five); ZVAL_LONG(five, 5); PHALCON_OBS_VAR(doctype); phalcon_read_static_property(&doctype, SL("phalcon\\tag"), SL("_documentType") TSRMLS_CC); /** * Check if Doctype is XHTML */ PHALCON_INIT_VAR(is_xhtml); is_smaller_function(is_xhtml, five, doctype TSRMLS_CC); if (zend_is_true(is_xhtml)) { phalcon_concat_self_str(&code, SL(" />") TSRMLS_CC); } else { phalcon_concat_self_str(&code, SL(">") TSRMLS_CC); } RETURN_CTOR(code); }
/** * Builds a HTML TEXTAREA tag * *<code> * echo Phalcon\Tag::textArea(array("comments", "cols" => 10, "rows" => 4)) *</code> * * Volt syntax: *<code> * {{ text_area("comments", "cols": 10, "rows": 4) }} *</code> * * @param array $parameters * @return string */ PHP_METHOD(Phalcon_Tag, textArea){ zval *parameters, *params = NULL, *id = NULL, *name, *content = NULL, *code; zval *avalue = NULL, *key = NULL; HashTable *ah0; HashPosition hp0; zval **hd; PHALCON_MM_GROW(); phalcon_fetch_params(1, 1, 0, ¶meters); if (Z_TYPE_P(parameters) != IS_ARRAY) { PHALCON_INIT_VAR(params); array_init_size(params, 1); phalcon_array_append(¶ms, parameters, PH_SEPARATE TSRMLS_CC); } else { PHALCON_CPY_WRT(params, parameters); } if (!phalcon_array_isset_long(params, 0)) { if (phalcon_array_isset_string(params, SS("id"))) { PHALCON_OBS_VAR(id); phalcon_array_fetch_string(&id, params, SL("id"), PH_NOISY_CC); phalcon_array_update_long(¶ms, 0, &id, PH_COPY | PH_SEPARATE TSRMLS_CC); } } PHALCON_OBS_NVAR(id); phalcon_array_fetch_long(&id, params, 0, PH_NOISY_CC); if (!phalcon_array_isset_string(params, SS("name"))) { phalcon_array_update_string(¶ms, SL("name"), &id, PH_COPY | PH_SEPARATE TSRMLS_CC); } else { PHALCON_OBS_VAR(name); phalcon_array_fetch_string(&name, params, SL("name"), PH_NOISY_CC); if (!zend_is_true(name)) { phalcon_array_update_string(¶ms, SL("name"), &id, PH_COPY | PH_SEPARATE TSRMLS_CC); } } if (!phalcon_array_isset_string(params, SS("id"))) { phalcon_array_update_string(¶ms, SL("id"), &id, PH_COPY | PH_SEPARATE TSRMLS_CC); } if (phalcon_array_isset_string(params, SS("value"))) { PHALCON_OBS_VAR(content); phalcon_array_fetch_string(&content, params, SL("value"), PH_NOISY_CC); phalcon_array_unset_string(¶ms, SS("value"), PH_SEPARATE); } else { PHALCON_INIT_NVAR(content); PHALCON_CALL_SELF_PARAMS_2(content, this_ptr, "getvalue", id, params); } PHALCON_INIT_VAR(code); ZVAL_STRING(code, "<textarea", 1); if (!phalcon_is_iterable(params, &ah0, &hp0, 0, 0 TSRMLS_CC)) { return; } while (zend_hash_get_current_data_ex(ah0, (void**) &hd, &hp0) == SUCCESS) { PHALCON_GET_FOREACH_KEY(key, ah0, hp0); PHALCON_GET_FOREACH_VALUE(avalue); if (Z_TYPE_P(key) != IS_LONG) { PHALCON_SCONCAT_SVSVS(code, " ", key, "=\"", avalue, "\""); } zend_hash_move_forward_ex(ah0, &hp0); } PHALCON_SCONCAT_SVS(code, ">", content, "</textarea>"); RETURN_CTOR(code); }