void moduleInit() override { xsltSetGenericErrorFunc(nullptr, xslt_ext_error_handler); exsltRegisterAll(); HHVM_RC_INT(XSL_SECPREF_NONE, k_XSL_SECPREF_NONE); HHVM_RC_INT(XSL_SECPREF_READ_FILE, k_XSL_SECPREF_READ_FILE); HHVM_RC_INT(XSL_SECPREF_WRITE_FILE, k_XSL_SECPREF_WRITE_FILE); HHVM_RC_INT(XSL_SECPREF_CREATE_DIRECTORY, k_XSL_SECPREF_CREATE_DIRECTORY); HHVM_RC_INT(XSL_SECPREF_READ_NETWORK, k_XSL_SECPREF_READ_NETWORK); HHVM_RC_INT(XSL_SECPREF_WRITE_NETWORK, k_XSL_SECPREF_WRITE_NETWORK); HHVM_RC_INT(XSL_SECPREF_DEFAULT, k_XSL_SECPREF_DEFAULT); HHVM_RC_INT_SAME(LIBXSLT_VERSION); HHVM_RC_STR_SAME(LIBXSLT_DOTTED_VERSION); HHVM_ME(XSLTProcessor, getParameter); HHVM_ME(XSLTProcessor, getSecurityPrefs); HHVM_ME(XSLTProcessor, importStylesheet); HHVM_ME(XSLTProcessor, removeParameter); HHVM_ME(XSLTProcessor, registerPHPFunctions); HHVM_ME(XSLTProcessor, setParameter); HHVM_ME(XSLTProcessor, setSecurityPrefs); HHVM_ME(XSLTProcessor, setProfiling); HHVM_ME(XSLTProcessor, transformToDoc); HHVM_ME(XSLTProcessor, transformToURI); HHVM_ME(XSLTProcessor, transformToXML); Native:: registerNativeDataInfo<XSLTProcessorData>(s_XSLTProcessorData.get()); loadSystemlib(); }
void StandardExtension::initMisc() { HHVM_FALIAS(HH\\server_warmup_status, server_warmup_status); HHVM_FE(connection_aborted); HHVM_FE(connection_status); HHVM_FE(connection_timeout); HHVM_FE(constant); HHVM_FE(define); HHVM_FE(defined); HHVM_FE(ignore_user_abort); HHVM_FE(pack); HHVM_FE(sleep); HHVM_FE(usleep); HHVM_FE(time_nanosleep); HHVM_FE(time_sleep_until); HHVM_FE(uniqid); HHVM_FE(unpack); HHVM_FE(sys_getloadavg); HHVM_FE(token_get_all); HHVM_FE(token_name); HHVM_FE(hphp_to_string); HHVM_FALIAS(__SystemLib\\max2, SystemLib_max2); HHVM_FALIAS(__SystemLib\\min2, SystemLib_min2); HHVM_RC_INT(PHP_MAXPATHLEN, PATH_MAX); Native::registerConstant<KindOfBoolean>(makeStaticString("PHP_DEBUG"), #if DEBUG true #else false #endif ); bindTokenConstants(); HHVM_RC_INT(T_PAAMAYIM_NEKUDOTAYIM, get_user_token_id(T_DOUBLE_COLON)); HHVM_RC_INT(UPLOAD_ERR_OK, 0); HHVM_RC_INT(UPLOAD_ERR_INI_SIZE, 1); HHVM_RC_INT(UPLOAD_ERR_FORM_SIZE, 2); HHVM_RC_INT(UPLOAD_ERR_PARTIAL, 3); HHVM_RC_INT(UPLOAD_ERR_NO_FILE, 4); HHVM_RC_INT(UPLOAD_ERR_NO_TMP_DIR, 6); HHVM_RC_INT(UPLOAD_ERR_CANT_WRITE, 7); HHVM_RC_INT(UPLOAD_ERR_EXTENSION, 8); HHVM_RC_INT(CREDITS_GROUP, 1 << 0); HHVM_RC_INT(CREDITS_GENERAL, 1 << 1); HHVM_RC_INT(CREDITS_SAPI, 1 << 2); HHVM_RC_INT(CREDITS_MODULES, 1 << 3); HHVM_RC_INT(CREDITS_DOCS, 1 << 4); HHVM_RC_INT(CREDITS_FULLPAGE, 1 << 5); HHVM_RC_INT(CREDITS_QA, 1 << 6); HHVM_RC_INT(CREDITS_ALL, 0xFFFFFFFF); HHVM_RC_INT(INI_SYSTEM, IniSetting::PHP_INI_SYSTEM); HHVM_RC_INT(INI_PERDIR, IniSetting::PHP_INI_PERDIR); HHVM_RC_INT(INI_USER, IniSetting::PHP_INI_USER); HHVM_RC_INT(INI_ALL, IniSetting::PHP_INI_SYSTEM | IniSetting::PHP_INI_PERDIR | IniSetting::PHP_INI_USER); HHVM_RC_STR(PHP_BINARY, current_executable_path()); HHVM_RC_STR(PHP_BINDIR, current_executable_directory()); HHVM_RC_STR(PHP_OS, HHVM_FN(php_uname)("s").toString().toCppString()); HHVM_RC_STR(PHP_SAPI, RuntimeOption::ExecutionMode); HHVM_RC_INT(PHP_INT_SIZE, sizeof(int64_t)); HHVM_RC_INT(PHP_INT_MIN, k_PHP_INT_MIN); HHVM_RC_INT(PHP_INT_MAX, k_PHP_INT_MAX); HHVM_RC_INT_SAME(PHP_MAJOR_VERSION); HHVM_RC_INT_SAME(PHP_MINOR_VERSION); HHVM_RC_INT_SAME(PHP_RELEASE_VERSION); HHVM_RC_STR_SAME(PHP_EXTRA_VERSION); HHVM_RC_STR_SAME(PHP_VERSION); HHVM_RC_INT_SAME(PHP_VERSION_ID); // FIXME: These values are hardcoded from their previous IDL values // Grab their correct values from the system as appropriate HHVM_RC_STR(PHP_EOL, "\n"); HHVM_RC_STR(PHP_CONFIG_FILE_PATH, ""); HHVM_RC_STR(PHP_CONFIG_FILE_SCAN_DIR, ""); HHVM_RC_STR(PHP_DATADIR, ""); HHVM_RC_STR(PHP_EXTENSION_DIR, ""); HHVM_RC_STR(PHP_LIBDIR, ""); HHVM_RC_STR(PHP_LOCALSTATEDIR, ""); HHVM_RC_STR(PHP_PREFIX, ""); HHVM_RC_STR(PHP_SHLIB_SUFFIX, "so"); HHVM_RC_STR(PHP_SYSCONFDIR, ""); HHVM_RC_STR(PEAR_EXTENSION_DIR, ""); HHVM_RC_STR(PEAR_INSTALL_DIR, ""); loadSystemlib("std_misc"); }
void moduleInit() override { HHVM_ME(DateTime, __construct); HHVM_ME(DateTime, add); HHVM_ME(DateTime, diff); HHVM_ME(DateTime, format); HHVM_ME(DateTime, getOffset); HHVM_ME(DateTime, getTimestamp); HHVM_ME(DateTime, getTimezone); HHVM_ME(DateTime, modify); HHVM_ME(DateTime, setDate); HHVM_ME(DateTime, setISODate); HHVM_ME(DateTime, setTime); HHVM_ME(DateTime, setTimestamp); HHVM_ME(DateTime, setTimezone); HHVM_ME(DateTime, sub); HHVM_ME(DateTime, __sleep); HHVM_ME(DateTime, __wakeup); HHVM_ME(DateTime, __debuginfo); HHVM_STATIC_ME(DateTime, createFromFormat); HHVM_STATIC_ME(DateTime, getLastErrors); Native::registerNativeDataInfo<DateTimeData>( DateTimeData::s_className.get(), Native::NDIFlags::NO_SWEEP); HHVM_RC_STR_SAME(DATE_ATOM); HHVM_RCC_STR(DateTime, ATOM, DATE_ATOM); HHVM_RC_STR_SAME(DATE_COOKIE); HHVM_RCC_STR(DateTime, COOKIE, DATE_COOKIE); HHVM_RC_STR_SAME(DATE_ISO8601); HHVM_RCC_STR(DateTime, ISO8601, DATE_ISO8601); HHVM_RC_STR_SAME(DATE_RFC822); HHVM_RCC_STR(DateTime, RFC822, DATE_RFC822); HHVM_RC_STR_SAME(DATE_RFC850); HHVM_RCC_STR(DateTime, RFC850, DATE_RFC850); HHVM_RC_STR_SAME(DATE_RFC1036); HHVM_RCC_STR(DateTime, RFC1036, DATE_RFC1036); HHVM_RC_STR_SAME(DATE_RFC1123); HHVM_RCC_STR(DateTime, RFC1123, DATE_RFC1123); HHVM_RC_STR_SAME(DATE_RFC2822); HHVM_RCC_STR(DateTime, RFC2822, DATE_RFC2822); HHVM_RC_STR_SAME(DATE_RFC3339); HHVM_RCC_STR(DateTime, RFC3339, DATE_RFC3339); HHVM_RC_STR_SAME(DATE_RSS); HHVM_RCC_STR(DateTime, RSS, DATE_RSS); HHVM_RC_STR_SAME(DATE_W3C); HHVM_RCC_STR(DateTime, W3C, DATE_W3C); HHVM_RCC_INT(DateTimeZone, AFRICA, DateTimeZoneData::AFRICA); HHVM_RCC_INT(DateTimeZone, AMERICA, DateTimeZoneData::AMERICA); HHVM_RCC_INT(DateTimeZone, ANTARCTICA, DateTimeZoneData::ANTARCTICA); HHVM_RCC_INT(DateTimeZone, ARCTIC, DateTimeZoneData::ARCTIC); HHVM_RCC_INT(DateTimeZone, ASIA, DateTimeZoneData::ASIA); HHVM_RCC_INT(DateTimeZone, ATLANTIC, DateTimeZoneData::ATLANTIC); HHVM_RCC_INT(DateTimeZone, AUSTRALIA, DateTimeZoneData::AUSTRALIA); HHVM_RCC_INT(DateTimeZone, EUROPE, DateTimeZoneData::EUROPE); HHVM_RCC_INT(DateTimeZone, INDIAN, DateTimeZoneData::INDIAN); HHVM_RCC_INT(DateTimeZone, PACIFIC, DateTimeZoneData::PACIFIC); HHVM_RCC_INT(DateTimeZone, UTC, DateTimeZoneData::UTC); HHVM_RCC_INT(DateTimeZone, ALL, DateTimeZoneData::ALL); HHVM_RCC_INT(DateTimeZone, ALL_WITH_BC, DateTimeZoneData::ALL_WITH_BC); HHVM_RCC_INT(DateTimeZone, PER_COUNTRY, DateTimeZoneData::PER_COUNTRY); HHVM_ME(DateTimeZone, __construct); HHVM_ME(DateTimeZone, getLocation); HHVM_ME(DateTimeZone, getName); HHVM_ME(DateTimeZone, getOffset); HHVM_ME(DateTimeZone, getTransitions); HHVM_STATIC_ME(DateTimeZone, listAbbreviations); HHVM_STATIC_ME(DateTimeZone, listIdentifiers); Native::registerNativeDataInfo<DateTimeZoneData>( DateTimeZoneData::s_className.get(), Native::NDIFlags::NO_SWEEP); HHVM_ME(DateInterval, __construct); HHVM_ME(DateInterval, __get); HHVM_ME(DateInterval, __set); HHVM_ME(DateInterval, format); HHVM_STATIC_ME(DateInterval, createFromDateString); Native::registerNativeDataInfo<DateIntervalData>( DateIntervalData::s_className.get(), Native::NDIFlags::NO_SWEEP); HHVM_FE(checkdate); HHVM_FE(date_parse_from_format); HHVM_FE(date_create); HHVM_FE(date_default_timezone_get); HHVM_FE(date_default_timezone_set); HHVM_FE(date_format); HHVM_FE(date_parse); HHVM_FE(date_sun_info); HHVM_NAMED_FE(date_sunrise, date_sunrise_sunset<false>); HHVM_NAMED_FE(date_sunset, date_sunrise_sunset<true>); HHVM_NAMED_FE(date, date_impl<false>); HHVM_NAMED_FE(gmdate, date_impl<true>); HHVM_FE(getdate); HHVM_FE(gettimeofday); HHVM_FE(gmmktime); HHVM_NAMED_FE(strftime, strftime_impl<false>); HHVM_NAMED_FE(gmstrftime, strftime_impl<true>); HHVM_FE(idate); HHVM_FE(localtime); HHVM_FE(microtime); HHVM_FE(mktime); HHVM_FE(strptime); HHVM_FE(strtotime); HHVM_FE(time); HHVM_FE(timezone_name_from_abbr); HHVM_FE(timezone_version_get); HHVM_RC_INT(SUNFUNCS_RET_DOUBLE, DateTime::SunInfoFormat::ReturnDouble); HHVM_RC_INT(SUNFUNCS_RET_STRING, DateTime::SunInfoFormat::ReturnString); HHVM_RC_INT(SUNFUNCS_RET_TIMESTAMP, DateTime::SunInfoFormat::ReturnTimeStamp); loadSystemlib("datetime"); }
void StandardExtension::initMisc() { HHVM_FALIAS(HH\\server_warmup_status, server_warmup_status); HHVM_FE(connection_aborted); HHVM_FE(connection_status); HHVM_FE(connection_timeout); HHVM_FE(constant); HHVM_FE(define); HHVM_FE(defined); HHVM_FE(ignore_user_abort); HHVM_FE(pack); HHVM_FE(sleep); HHVM_FE(usleep); HHVM_FE(time_nanosleep); HHVM_FE(time_sleep_until); HHVM_FE(uniqid); HHVM_FE(unpack); HHVM_FE(sys_getloadavg); HHVM_FE(token_get_all); HHVM_FE(token_name); HHVM_FE(hphp_to_string); HHVM_FALIAS(__SystemLib\\max2, SystemLib_max2); HHVM_FALIAS(__SystemLib\\min2, SystemLib_min2); Native::registerConstant<KindOfDouble>(makeStaticString("INF"), k_INF); Native::registerConstant<KindOfDouble>(makeStaticString("NAN"), k_NAN); Native::registerConstant<KindOfInt64>( makeStaticString("PHP_MAXPATHLEN"), MAXPATHLEN); Native::registerConstant<KindOfBoolean>(makeStaticString("PHP_DEBUG"), #if DEBUG true #else false #endif ); bindTokenConstants(); Native::registerConstant<KindOfInt64>(s_T_PAAMAYIM_NEKUDOTAYIM.get(), get_user_token_id(T_DOUBLE_COLON)); HHVM_RC_STR(PHP_BINARY, current_executable_path()); HHVM_RC_STR(PHP_BINDIR, current_executable_directory()); HHVM_RC_STR(PHP_OS, HHVM_FN(php_uname)("s").toString().toCppString()); HHVM_RC_STR(PHP_SAPI, RuntimeOption::ExecutionMode); HHVM_RC_INT(PHP_INT_SIZE, sizeof(int64_t)); HHVM_RC_INT(PHP_INT_MIN, k_PHP_INT_MIN); HHVM_RC_INT(PHP_INT_MAX, k_PHP_INT_MAX); HHVM_RC_INT_SAME(PHP_MAJOR_VERSION); HHVM_RC_INT_SAME(PHP_MINOR_VERSION); HHVM_RC_INT_SAME(PHP_RELEASE_VERSION); HHVM_RC_STR_SAME(PHP_EXTRA_VERSION); HHVM_RC_STR_SAME(PHP_VERSION); HHVM_RC_INT_SAME(PHP_VERSION_ID); // FIXME: These values are hardcoded from their previous IDL values // Grab their correct values from the system as appropriate HHVM_RC_STR(PHP_EOL, "\n"); HHVM_RC_STR(PHP_CONFIG_FILE_PATH, ""); HHVM_RC_STR(PHP_CONFIG_FILE_SCAN_DIR, ""); HHVM_RC_STR(PHP_DATADIR, ""); HHVM_RC_STR(PHP_EXTENSION_DIR, ""); HHVM_RC_STR(PHP_LIBDIR, ""); HHVM_RC_STR(PHP_LOCALSTATEDIR, ""); HHVM_RC_STR(PHP_PREFIX, ""); HHVM_RC_STR(PHP_SHLIB_SUFFIX, "so"); HHVM_RC_STR(PHP_SYSCONFDIR, ""); HHVM_RC_STR(PEAR_EXTENSION_DIR, ""); HHVM_RC_STR(PEAR_INSTALL_DIR, ""); loadSystemlib("std_misc"); }
void moduleInit() override { HHVM_RC_INT_SAME(LIBXML_VERSION); HHVM_RC_STR_SAME(LIBXML_DOTTED_VERSION); HHVM_RC_STR(LIBXML_LOADED_VERSION, xmlParserVersion); // For use with loading xml HHVM_RC_INT(LIBXML_NOENT, XML_PARSE_NOENT); HHVM_RC_INT(LIBXML_DTDLOAD, XML_PARSE_DTDLOAD); HHVM_RC_INT(LIBXML_DTDATTR, XML_PARSE_DTDATTR); HHVM_RC_INT(LIBXML_DTDVALID, XML_PARSE_DTDVALID); HHVM_RC_INT(LIBXML_NOERROR, XML_PARSE_NOERROR); HHVM_RC_INT(LIBXML_NOWARNING, XML_PARSE_NOWARNING); HHVM_RC_INT(LIBXML_NOBLANKS, XML_PARSE_NOBLANKS); HHVM_RC_INT(LIBXML_XINCLUDE, XML_PARSE_XINCLUDE); HHVM_RC_INT(LIBXML_NSCLEAN, XML_PARSE_NSCLEAN); HHVM_RC_INT(LIBXML_NOCDATA, XML_PARSE_NOCDATA); HHVM_RC_INT(LIBXML_NONET, XML_PARSE_NONET); HHVM_RC_INT(LIBXML_PEDANTIC, XML_PARSE_PEDANTIC); HHVM_RC_INT(LIBXML_COMPACT, XML_PARSE_COMPACT); HHVM_RC_INT(LIBXML_NOXMLDECL, XML_SAVE_NO_DECL); HHVM_RC_INT(LIBXML_PARSEHUGE, XML_PARSE_HUGE); HHVM_RC_INT(LIBXML_NOEMPTYTAG, LIBXML_SAVE_NOEMPTYTAG); // Schema validation options #if defined(LIBXML_SCHEMAS_ENABLED) HHVM_RC_INT(LIBXML_SCHEMA_CREATE, XML_SCHEMA_VAL_VC_I_CREATE); #endif // Additional constants for use with loading html #if LIBXML_VERSION >= 20707 HHVM_RC_INT(LIBXML_HTML_NOIMPLIED, HTML_PARSE_NOIMPLIED); #endif #if LIBXML_VERSION >= 20708 HHVM_RC_INT(LIBXML_HTML_NODEFDTD, HTML_PARSE_NODEFDTD); #endif // Error levels HHVM_RC_INT(LIBXML_ERR_NONE, XML_ERR_NONE); HHVM_RC_INT(LIBXML_ERR_WARNING, XML_ERR_WARNING); HHVM_RC_INT(LIBXML_ERR_ERROR, XML_ERR_ERROR); HHVM_RC_INT(LIBXML_ERR_FATAL, XML_ERR_FATAL); HHVM_FE(libxml_get_errors); HHVM_FE(libxml_get_last_error); HHVM_FE(libxml_clear_errors); HHVM_FE(libxml_use_internal_errors); HHVM_FE(libxml_suppress_errors); HHVM_FE(libxml_disable_entity_loader); HHVM_FE(libxml_set_streams_context); loadSystemlib(); s_LibXMLError_class = Unit::lookupClass(s_LibXMLError.get()); // Set up callbacks to support stream wrappers for reading and writing // xml files and loading external entities. xmlParserInputBufferCreateFilenameDefault(libxml_create_input_buffer); xmlOutputBufferCreateFilenameDefault(libxml_create_output_buffer); s_default_entity_loader = xmlGetExternalEntityLoader(); xmlSetExternalEntityLoader(libxml_ext_entity_loader); }