本文整理汇总了PHP中uniStrpos函数的典型用法代码示例。如果您正苦于以下问题:PHP uniStrpos函数的具体用法?PHP uniStrpos怎么用?PHP uniStrpos使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了uniStrpos函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: writeToHistoryArray
private function writeToHistoryArray($strSessionKey)
{
$strQueryString = getServer("QUERY_STRING");
//Clean querystring of empty actions
if (uniSubstr($strQueryString, -8) == "&action=") {
$strQueryString = substr_replace($strQueryString, "", -8);
}
//Just do s.th., if not in the rights-mgmt
if (uniStrpos($strQueryString, "module=right") !== false) {
return;
}
$arrHistory = $this->objSession->getSession($strSessionKey);
//And insert just, if different to last entry
if ($strQueryString == $this->getHistoryEntry(0, $strSessionKey)) {
return;
}
//If we reach up here, we can enter the current query
if ($arrHistory !== false) {
array_unshift($arrHistory, $strQueryString);
while (count($arrHistory) > 10) {
array_pop($arrHistory);
}
} else {
$arrHistory = array($strQueryString);
}
//saving the new array to session
$this->objSession->setSession($strSessionKey, $arrHistory);
}
示例2: installOrUpdate
/**
* Invokes the installer, if given.
* The installer itself is capable of detecting whether an update or a plain installation is required.
*
* @throws class_exception
* @return string
*/
public function installOrUpdate()
{
$strReturn = "";
if (uniStrpos($this->getObjMetadata()->getStrPath(), "core") === false) {
throw new class_exception("Current module not located at /core*.", class_exception::$level_ERROR);
}
if (!$this->isInstallable()) {
throw new class_exception("Current module isn't installable, not all requirements are given", class_exception::$level_ERROR);
}
//search for an existing installer
$objFilesystem = new class_filesystem();
$arrInstaller = $objFilesystem->getFilelist($this->objMetadata->getStrPath() . "/installer/", array(".php"));
if ($arrInstaller === false) {
$strReturn .= "Updating default template pack...\n";
$this->updateDefaultTemplate();
class_cache::flushCache();
return $strReturn;
}
//proceed with elements
foreach ($arrInstaller as $strOneInstaller) {
//skip samplecontent files
if (uniStrpos($strOneInstaller, "element") !== false) {
class_logger::getInstance(class_logger::PACKAGEMANAGEMENT)->addLogRow("triggering updateOrInstall() on installer " . $strOneInstaller . ", all requirements given", class_logger::$levelInfo);
//trigger update or install
$strName = uniSubstr($strOneInstaller, 0, -4);
/** @var $objInstaller interface_installer */
$objInstaller = new $strName();
$strReturn .= $objInstaller->installOrUpdate();
}
}
$strReturn .= "Updating default template pack...\n";
$this->updateDefaultTemplate();
return $strReturn;
}
示例3: getPlugins
/**
* This method returns all plugins registered for the current extension point searching at the predefined path.
* By default, new instances of the classes are returned. If the implementing
* class requires specific constructor arguments, pass them as the second argument and they will be
* used during instantiation.
*
* @param array $arrConstructorArguments
*
* @static
* @return interface_generic_plugin[]
*/
public function getPlugins($arrConstructorArguments = array())
{
//load classes in passed-folders
$strKey = md5($this->strSearchPath . $this->strPluginPoint);
if (!array_key_exists($strKey, self::$arrPluginClasses)) {
$strPluginPoint = $this->strPluginPoint;
$arrClasses = class_resourceloader::getInstance()->getFolderContent($this->strSearchPath, array(".php"), false, function ($strOneFile) use($strPluginPoint) {
$strOneFile = uniSubstr($strOneFile, 0, -4);
if (uniStripos($strOneFile, "class_") === false || uniStrpos($strOneFile, "class_testbase") !== false) {
return false;
}
$objReflection = new ReflectionClass($strOneFile);
if (!$objReflection->isAbstract() && $objReflection->implementsInterface("interface_generic_plugin")) {
$objMethod = $objReflection->getMethod("getExtensionName");
if ($objMethod->invoke(null) == $strPluginPoint) {
return true;
}
}
return false;
}, function (&$strOneFile) {
$strOneFile = uniSubstr($strOneFile, 0, -4);
});
self::$arrPluginClasses[$strKey] = $arrClasses;
}
$arrReturn = array();
foreach (self::$arrPluginClasses[$strKey] as $strOneClass) {
$objReflection = new ReflectionClass($strOneClass);
if (count($arrConstructorArguments) > 0) {
$arrReturn[] = $objReflection->newInstanceArgs($arrConstructorArguments);
} else {
$arrReturn[] = $objReflection->newInstance();
}
}
return $arrReturn;
}
示例4: actionDownload
/**
* Sends the requested file to the browser
* @return string
*/
public function actionDownload()
{
//Load filedetails
if (validateSystemid($this->getSystemid())) {
/** @var $objFile class_module_mediamanager_file */
$objFile = class_objectfactory::getInstance()->getObject($this->getSystemid());
//Succeeded?
if ($objFile instanceof class_module_mediamanager_file && $objFile->getIntRecordStatus() == "1" && $objFile->getIntType() == class_module_mediamanager_file::$INT_TYPE_FILE) {
//Check rights
if ($objFile->rightRight2()) {
//Log the download
class_module_mediamanager_logbook::generateDlLog($objFile);
//Send the data to the browser
$strBrowser = getServer("HTTP_USER_AGENT");
//Check the current browsertype
if (uniStrpos($strBrowser, "IE") !== false) {
//Internet Explorer
class_response_object::getInstance()->addHeader("Content-type: application/x-ms-download");
class_response_object::getInstance()->addHeader("Content-type: x-type/subtype\n");
class_response_object::getInstance()->addHeader("Content-type: application/force-download");
class_response_object::getInstance()->addHeader("Content-Disposition: attachment; filename=" . preg_replace('/\\./', '%2e', saveUrlEncode(trim(basename($objFile->getStrFilename()))), substr_count(basename($objFile->getStrFilename()), '.') - 1));
} else {
//Good: another browser vendor
class_response_object::getInstance()->addHeader("Content-Type: application/octet-stream");
class_response_object::getInstance()->addHeader("Content-Disposition: attachment; filename=" . saveUrlEncode(trim(basename($objFile->getStrFilename()))));
}
//Common headers
class_response_object::getInstance()->addHeader("Expires: Mon, 01 Jan 1995 00:00:00 GMT");
class_response_object::getInstance()->addHeader("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
class_response_object::getInstance()->addHeader("Pragma: no-cache");
class_response_object::getInstance()->addHeader("Content-description: JustThum-Generated Data\n");
class_response_object::getInstance()->addHeader("Content-Length: " . filesize(_realpath_ . $objFile->getStrFilename()));
//End Session
$this->objSession->sessionClose();
class_response_object::getInstance()->sendHeaders();
//Loop the file
$ptrFile = @fopen(_realpath_ . $objFile->getStrFilename(), 'rb');
fpassthru($ptrFile);
@fclose($ptrFile);
ob_flush();
flush();
return "";
} else {
class_response_object::getInstance()->setStrStatusCode(class_http_statuscodes::SC_FORBIDDEN);
}
} else {
class_response_object::getInstance()->setStrStatusCode(class_http_statuscodes::SC_NOT_FOUND);
}
} else {
class_response_object::getInstance()->setStrStatusCode(class_http_statuscodes::SC_NOT_FOUND);
}
//if we reach up here, something gone wrong :/
class_response_object::getInstance()->setStrRedirectUrl(str_replace(array("_indexpath_", "&"), array(_indexpath_, "&"), class_link::getLinkPortalHref(class_module_system_setting::getConfigValue("_pages_errorpage_"))));
class_response_object::getInstance()->sendHeaders();
class_response_object::getInstance()->sendContent();
return "";
}
示例5: getMessageproviders
/**
* @return interface_messageprovider[]
*/
public function getMessageproviders()
{
return class_resourceloader::getInstance()->getFolderContent("/system/messageproviders", array(".php"), false, function ($strOneFile) {
if (uniStrpos($strOneFile, "interface") !== false) {
return false;
}
return true;
}, function (&$strOneFile) {
$strOneFile = uniSubstr($strOneFile, 0, -4);
$strOneFile = new $strOneFile();
});
}
示例6: getTotalUniquePackagesererSystems
function getTotalUniquePackagesererSystems()
{
$strQuery = "SELECT log_hostname, count(*) AS ANZ\n FROM " . _dbprefix_ . "packageserver_log\n GROUP BY log_hostname\n ORDER BY ANZ DESC ";
$intI = 0;
foreach (class_carrier::getInstance()->getObjDB()->getPArray($strQuery, array()) as $arrOneRow) {
if (uniStrpos($arrOneRow["log_hostname"], "localhost/") === false && uniStrpos($arrOneRow["log_hostname"], "kajona.de") === false && uniStrpos($arrOneRow["log_hostname"], "kajonabase") === false && uniStrpos($arrOneRow["log_hostname"], "aquarium") === false && uniStrpos($arrOneRow["log_hostname"], "stb400s") === false && $arrOneRow["log_hostname"] != "") {
echo sprintf("%4d", $arrOneRow["ANZ"]) . " => " . $arrOneRow["log_hostname"] . "<br />";
$intI++;
}
}
echo "Total: " . $intI . " systems<br />";
}
示例7: getAvailablePackages
/**
* Queries the local filesystem in order to find all packages available.
* This may include packages of all providers.
* Optionally you may reduce the list of packages using a simple filter-string
*
* @param string $strFilterText
*
* @return class_module_packagemanager_metadata[]
*/
public function getAvailablePackages($strFilterText = "")
{
$arrReturn = array();
$objModuleProvider = new class_module_packagemanager_packagemanager_module();
$arrReturn = array_merge($arrReturn, $objModuleProvider->getInstalledPackages());
$objPackageProvider = new class_module_packagemanager_packagemanager_template();
$arrReturn = array_merge($objPackageProvider->getInstalledPackages(), $arrReturn);
if ($strFilterText != "") {
$arrReturn = array_filter($arrReturn, function ($objOneMetadata) use($strFilterText) {
return uniStrpos($objOneMetadata->getStrTitle(), $strFilterText) !== false;
});
}
return $arrReturn;
}
示例8: bootstrapIncludeModuleIds
/**
* Helper to load and scan all module-ids available. Triggered by the bootloader.
* Change with care
*
* @return void
*/
function bootstrapIncludeModuleIds()
{
//Module-Constants
foreach (scandir(_realpath_) as $strRootFolder) {
if (uniStrpos($strRootFolder, "core") === false) {
continue;
}
foreach (scandir(_realpath_ . "/" . $strRootFolder) as $strDirEntry) {
if (is_dir(_realpath_ . "/" . $strRootFolder . "/" . $strDirEntry) && is_dir(_realpath_ . "/" . $strRootFolder . "/" . $strDirEntry . "/system/") && is_dir(_realpath_ . "/" . $strRootFolder . "/" . $strDirEntry . "/system/config/")) {
foreach (scandir(_realpath_ . "/" . $strRootFolder . "/" . $strDirEntry . "/system/config/") as $strModuleEntry) {
if (preg_match("/module\\_([a-z0-9\\_])+\\_id\\.php/", $strModuleEntry)) {
@(include_once _realpath_ . "/" . $strRootFolder . "/" . $strDirEntry . "/system/config/" . $strModuleEntry);
}
}
}
}
}
}
示例9: testZipFileread
public function testZipFileread()
{
$objFileSystem = new class_filesystem();
echo "\ttesting class_zip file-reading...\n";
$objZip = new class_zip();
echo "\topening " . _realpath_ . "/test.zip\n";
$this->assertTrue($objZip->openArchiveForWriting("/files/cache/test.zip"), __FILE__ . " openArchive");
$this->assertTrue($objZip->addFile(class_resourceloader::getInstance()->getCorePathForModule("module_system") . "/module_system/metadata.xml"), __FILE__ . " addFile");
$this->assertTrue($objZip->closeArchive(), __FILE__ . " closeArchive");
$this->assertFileExists(_realpath_ . "/files/cache/test.zip", __FILE__ . " checkFileExists");
echo "\treading files\n";
$strContent = $objZip->getFileFromArchive("/files/cache/test.zip", class_resourceloader::getInstance()->getCorePathForModule("module_system") . "/module_system/metadata.xml");
$this->assertTrue(uniStrpos($strContent, "xsi:noNamespaceSchemaLocation=\"https://apidocs.kajona.de/xsd/package.xsd\"") !== false);
echo "\tremoving testfile\n";
$this->assertTrue($objFileSystem->fileDelete("/files/cache/test.zip"), __FILE__ . " deleteFile");
$this->assertFileNotExists(_realpath_ . "/files/cache/test.zip", __FILE__ . " checkFileNotExists");
$objFileSystem->folderDeleteRecursive("/files/cache/zipextract");
$this->assertFileNotExists(_realpath_ . "/files/cache/zipextract", __FILE__ . " checkFileNotExists");
}
示例10: getAdminForm
/**
* @see interface_admin_systemtask::getAdminForm()
* @return string
*/
public function getAdminForm()
{
$strReturn = "";
//show dropdown to select db-dump
$objFilesystem = new class_filesystem();
$arrFiles = $objFilesystem->getFilelist(_projectpath_ . "/dbdumps/", array(".sql", ".gz"));
$arrOptions = array();
foreach ($arrFiles as $strOneFile) {
$arrDetails = $objFilesystem->getFileDetails(_projectpath_ . "/dbdumps/" . $strOneFile);
$strTimestamp = "";
if (uniStrpos($strOneFile, "_") !== false) {
$strTimestamp = uniSubstr($strOneFile, uniStrrpos($strOneFile, "_") + 1, uniStrpos($strOneFile, ".") - uniStrrpos($strOneFile, "_"));
}
if (uniStrlen($strTimestamp) > 9 && is_numeric($strTimestamp)) {
$arrOptions[$strOneFile] = $strOneFile . " (" . bytesToString($arrDetails["filesize"]) . ")" . "<br />" . $this->getLang("systemtask_dbimport_datefilename") . " " . timeToString($strTimestamp) . "<br />" . $this->getLang("systemtask_dbimport_datefileinfo") . " " . timeToString($arrDetails['filechange']);
} else {
$arrOptions[$strOneFile] = $strOneFile . " (" . bytesToString($arrDetails["filesize"]) . ")" . "<br />" . $this->getLang("systemtask_dbimport_datefileinfo") . " " . timeToString($arrDetails['filechange']);
}
}
$strReturn .= $this->objToolkit->formInputRadiogroup("dbImportFile", $arrOptions, $this->getLang("systemtask_dbimport_file"));
return $strReturn;
}
示例11: getWidgetOutput
/**
* This method is called, when the widget should generate it's content.
* Return the complete content using the methods provided by the base class.
* Do NOT use the toolkit right here!
*
* @return string
*/
public function getWidgetOutput()
{
$strReturn = "";
if ($this->getFieldValue("location") == "") {
return "Please set up a location";
}
if (uniStrpos($this->getFieldValue("location"), "GM") !== false) {
return "This widget changed, please update your location by editing the widget";
}
//request the xml...
try {
$strFormat = "metric";
if ($this->getFieldValue("unit") == "f") {
$strFormat = "imperial";
}
$objRemoteloader = new class_remoteloader();
$objRemoteloader->setStrHost("api.openweathermap.org");
$objRemoteloader->setStrQueryParams("/data/2.5/forecast/daily?APPID=4bdceecc2927e65c5fb712d1222c5293&q=" . $this->getFieldValue("location") . "&units=" . $strFormat . "&cnt=4");
$strContent = $objRemoteloader->getRemoteContent();
} catch (class_exception $objExeption) {
$strContent = "";
}
if ($strContent != "" && json_decode($strContent, true) !== null) {
$arrResponse = json_decode($strContent, true);
$strReturn .= $this->widgetText($this->getLang("weather_location_string") . $arrResponse["city"]["name"] . ", " . $arrResponse["city"]["country"]);
foreach ($arrResponse["list"] as $arrOneForecast) {
$objDate = new class_date($arrOneForecast["dt"]);
$strReturn .= "<div>";
$strReturn .= $this->widgetText("<div style='float: left;'>" . dateToString($objDate, false) . ": " . round($arrOneForecast["temp"]["day"], 1) . "°</div>");
$strReturn .= $this->widgetText("<img src='http://openweathermap.org/img/w/" . $arrOneForecast["weather"][0]["icon"] . ".png' style='float: right;' />");
$strReturn .= "</div><div style='clear: both;'></div>";
}
} else {
$strReturn .= $this->getLang("weather_errorloading");
}
return $strReturn;
}
示例12: setStrPath
public function setStrPath($strPath)
{
if (uniStrpos(uniSubstr($strPath, 0, 7), "files") === false) {
$strPath = "/files" . $strPath;
}
$this->strPath = $strPath;
}
示例13: getLinkPortalHref
/**
* Creates a raw Link for the portal (just the href)
*
* @param string $strPageI
* @param string $strPageE
* @param string $strAction
* @param string $strParams
* @param string $strSystemid
* @param string $strLanguage
* @param string $strSeoAddon Only used if using mod_rewrite
* @return string
*/
public static function getLinkPortalHref($strPageI, $strPageE = "", $strAction = "", $strParams = "", $strSystemid = "", $strLanguage = "", $strSeoAddon = "")
{
$strReturn = "";
$bitInternal = true;
//return "#" if neither an internal nor an external page is set
if ($strPageI == "" && $strPageE == "") {
return "#";
}
//Internal links are more important than external links!
if ($strPageI == "" && $strPageE != "") {
$bitInternal = false;
}
//create an array out of the params
if ($strSystemid != "") {
$strParams .= "&systemid=" . $strSystemid;
$strSystemid = "";
}
$arrParams = self::parseParamsString($strParams, $strSystemid);
// any anchors set to the page?
$strAnchor = "";
if (uniStrpos($strPageI, "#") !== false) {
//get anchor, remove anchor from link
$strAnchor = urlencode(uniSubstr($strPageI, uniStrpos($strPageI, "#") + 1));
$strPageI = uniSubstr($strPageI, 0, uniStrpos($strPageI, "#"));
}
//urlencoding
$strPageI = urlencode($strPageI);
$strAction = urlencode($strAction);
//more than one language installed?
if ($strLanguage == "" && self::getIntNumberOfPortalLanguages() > 1) {
$strLanguage = self::getStrPortalLanguage();
} else {
if ($strLanguage != "" && self::getIntNumberOfPortalLanguages() <= 1) {
$strLanguage = "";
}
}
$strHref = "";
if ($bitInternal) {
//check, if we could use mod_rewrite
$bitRegularLink = true;
if (class_module_system_setting::getConfigValue("_system_mod_rewrite_") == "true") {
$strAddKeys = "";
//used later to add seo-relevant keywords
$objPage = class_module_pages_page::getPageByName($strPageI);
if ($objPage !== null) {
if ($strLanguage != "") {
$objPage->setStrLanguage($strLanguage);
$objPage->initObject();
}
$strAddKeys = $objPage->getStrSeostring() . ($strSeoAddon != "" && $objPage->getStrSeostring() != "" ? "-" : "") . urlSafeString($strSeoAddon);
if (uniStrlen($strAddKeys) > 0 && uniStrlen($strAddKeys) <= 2) {
$strAddKeys .= "__";
}
//trim string
$strAddKeys = uniStrTrim($strAddKeys, 100, "");
if ($strLanguage != "") {
$strHref .= $strLanguage . "/";
}
$strPath = $objPage->getStrPath();
if ($strPath == "") {
$objPage->updatePath();
$strPath = $objPage->getStrPath();
$objPage->updateObjectToDb();
}
if ($strPath != "") {
$strHref .= $strPath . "/";
}
}
//ok, here we go. schema for rewrite_links: pagename.addKeywords.action.systemid.language.html
//but: special case: just pagename & language
if ($strAction == "" && $strSystemid == "" && $strAddKeys == "") {
$strHref .= $strPageI . ".html";
} elseif ($strAction == "" && $strSystemid == "") {
$strHref .= $strPageI . ($strAddKeys == "" ? "" : "." . $strAddKeys) . ".html";
} elseif ($strAction != "" && $strSystemid == "") {
$strHref .= $strPageI . "." . $strAddKeys . "." . $strAction . ".html";
} else {
$strHref .= $strPageI . "." . $strAddKeys . "." . $strAction . "." . $strSystemid . ".html";
}
//params?
if (count($arrParams) > 0) {
$strHref .= "?" . implode("&", $arrParams);
}
// add anchor if given
if ($strAnchor != "") {
$strHref .= "#" . $strAnchor;
}
//plus the domain as a prefix
//.........这里部分代码省略.........
示例14: kajonaTestTrigger
public function kajonaTestTrigger()
{
//setUp
$this->setUp();
//loop test methods
$objReflection = new ReflectionClass($this);
$arrMethods = $objReflection->getMethods();
foreach ($arrMethods as $objOneMethod) {
if (uniStrpos($objOneMethod->getName(), "test") !== false) {
echo "calling " . $objOneMethod->getName() . "...\n";
$objOneMethod->invoke($this);
}
}
//tearDown
$this->tearDown();
}
示例15: getAdditionalProviders
/**
* Returns a list of objects implementing the changelog-provider-interface
* @return interface_changelog_provider[]
*/
public static function getAdditionalProviders()
{
if (self::$arrCachedProviders != null) {
return self::$arrCachedProviders;
}
$arrReturn = class_resourceloader::getInstance()->getFolderContent("/system", array(".php"), false, function ($strOneFile) {
if (uniStrpos($strOneFile, "class_changelog_provider") === false) {
return false;
}
$objReflection = new ReflectionClass(uniSubstr($strOneFile, 0, -4));
if ($objReflection->implementsInterface("interface_changelog_provider")) {
return true;
}
return false;
}, function (&$strOneFile) {
$objReflection = new ReflectionClass(uniSubstr($strOneFile, 0, -4));
$strOneFile = $objReflection->newInstance();
});
self::$arrCachedProviders = $arrReturn;
return $arrReturn;
}