425 if (!is_object($searchArgs)) {
429 $this->mXoopsModule->loadAdminMenu();
434 if (!function_exists(
'is_countable')) {
436 function is_countable($searchArgs) {
438 if (0 == (is_countable($this->mXoopsModule->adminmenu) ? count($this->mXoopsModule->adminmenu) : 0) && !isset($this->mXoopsModule->modinfo[
'config'])) {
440 return (is_countable($searchArgs));
449 if (isset($this->mXoopsModule->modinfo[
'config']) && (is_countable($this->mXoopsModule->modinfo[
'config']) ? count($this->mXoopsModule->modinfo[
'config']) : 0)>0) {
451 foreach ($searchArgs->getKeywords() as $word) {
452 if (stripos(_PREFERENCES, (
string) $word) !==
false) {
453 $root =& XCube_Root::getSingleton();
454 $searchArgs->addRecord($this->mXoopsModule->getVar(
'name'), $root->mController->getPreferenceEditUrl($this->mXoopsModule), _PREFERENCES);
462 foreach ($this->mXoopsModule->modinfo[
'config'] as $config) {
463 if (isset($config[
'title'])) {
464 if (defined($config[
'title'])) {
465 $configInfos[]= @constant($config[
'title']);
468 if (isset($config[
'description'])) {
469 if (defined($config[
'description'])) {
470 $configInfos[]= @constant($config[
'description']);
473 if (isset($config[
'options']) && (is_countable($config[
'options']) ? count($config[
'options']) : 0) > 0 ) {
474 foreach ($config[
'options'] as $key=>$val) {
476 $configInfos[]= ( constant($key) ?? $key ??
'' );
483 foreach ($searchArgs->getKeywords() as $word) {
484 $findFlag&=(stripos(implode(
' ', $configInfos), (
string) $word) !==
false);
488 $searchArgs->addRecord($this->mXoopsModule->getVar(
'name'),
489 XOOPS_URL.
'/modules/legacy/admin/index.php?action=PreferenceEdit&confmod_id='.$this->mXoopsModule->getVar(
'mid'),
499 if (!function_exists(
'is_countable')) {
501 function is_countable($searchArgs) {
503 if ((is_countable($this->mXoopsModule->adminmenu) ? count($this->mXoopsModule->adminmenu) : 0) > 0 ) {
504 foreach ($this->mXoopsModule->adminmenu as $menu) {
506 foreach ($searchArgs->getKeywords() as $word) {
508 $tmpFlag|=(stripos($menu[
'title'], (
string) $word) !==
false);
511 if (isset($menu[
'keywords'])) {
512 $keyword=is_array($menu[
'keywords']) ? implode(
' ', $menu[
'keywords']) : $menu[
'keywords'];
513 $tmpFlag|=(stripos($keyword, (
string) $word) !==
false);
524 if (isset($menu[
'absolute'])&&$menu[
'absolute']) {
527 $url= XOOPS_URL .
'/modules/' . $this->mXoopsModule->getVar(
'dirname') .
'/' . $menu[
'link'];
533 $searchArgs->addRecord($this->mXoopsModule->getVar(
'name'), $url, $menu[
'title']);
538 return (is_countable($searchArgs));
547 if ($this->mXoopsModule->hasHelp()) {
550 foreach ($searchArgs->getKeywords() as $word) {
551 if (stripos(_HELP, (
string) $word) !==
false) {
552 $root =& XCube_Root::getSingleton();
553 $searchArgs->addRecord($this->mXoopsModule->getVar(
'name'), $root->mController->getHelpViewUrl($this->mXoopsModule), _HELP);
560 $root =& XCube_Root::getSingleton();
561 $language = $root->mContext->getXoopsConfig(
'language');
562 $helpfile = $this->mXoopsModule->getHelp();
563 $dir = XOOPS_MODULE_PATH .
'/' . $this->mXoopsModule->getVar(
'dirname') .
'/language/' . $language .
'/help';
571 if (!file_exists($dir .
'/' . $helpfile)) {
572 $dir = XOOPS_MODULE_PATH .
'/' . $this->mXoopsModule->getVar(
'dirname') .
'/language/english/help';
573 if (!file_exists($dir .
'/' . $helpfile)) {
575 $trustDir = XOOPS_TRUST_PATH .
'/modules/' . $this->mXoopsModule->getVar(
'dirname') .
'/language/' . $language .
'/help';
576 if (!file_exists($trustDir .
'/' . $helpfile)) {
577 $trustDir = XOOPS_TRUST_PATH .
'/modules/' . $this->mXoopsModule->getVar(
'dirname') .
'/language/english/help';
578 if (!file_exists($trustDir .
'/' . $helpfile)) {
586 $lines = file($dir .
'/' . $helpfile);
587 foreach ($lines as $line) {
588 foreach ($searchArgs->getKeywords() as $word) {
589 if (stripos($line, (
string) $word) !==
false) {
590 $url = XOOPS_MODULE_URL .
'/legacy/admin/index.php?action=Help&dirname=' . $this->mXoopsModule->getVar(
'dirname');
591 $searchArgs->addRecord($this->mXoopsModule->getVar(
'name'), $url, _HELP);
603 $results = $this->mXoopsModule->search($queries, $andor, $max_hit, $start, $uid);
605 if (is_array($results) && count($results) > 0) {
606 foreach ($results as $result) {
608 if (isset($result[
'image']) && $result[
'image'] !==
'') {
609 if (file_exists(XOOPS_ROOT_PATH .
'/uploads/' . $result[
'image'])) {
610 $item[
'image'] = XOOPS_URL .
'/uploads/' . $result[
'image'];
614 $item[
'image'] = XOOPS_URL .
'/images/icons/' . $result[
'image'];
617 $item[
'image'] = XOOPS_URL .
'/images/icons/file.svg';
620 $item[
'link'] = XOOPS_URL .
'/modules/' . $this->mXoopsModule->get(
'dirname') .
'/' . $result[
'link'];
621 $item[
'title'] = $result[
'title'];
622 $item[
'uid'] = $result[
'uid'];
628 $item[
'time'] = $result[
'time'] ?? 0;
663 if ($this->_mAdminMenuLoadedFlag) {
667 $info =& $this->mXoopsModule->getInfo();
668 $root =& XCube_Root::getSingleton();
673 $this->mXoopsModule->loadAdminMenu();
674 if ($this->mXoopsModule->get(
'hasnotification')
675 || (isset($info[
'config']) && is_array($info[
'config']))
676 || (isset($info[
'comments']) && is_array($info[
'comments']))) {
677 $this->mXoopsModule->adminmenu[] = [
678 'link' => $root->mController->getPreferenceEditUrl($this->mXoopsModule),
679 'title' => _PREFERENCES,
684 if ($this->mXoopsModule->hasHelp()) {
685 $this->mXoopsModule->adminmenu[] = [
686 'link' => $root->mController->getHelpViewUrl($this->mXoopsModule),
692 $this->_mAdminMenuLoadedFlag =
true;
694 if ($this->mXoopsModule->adminmenu) {
695 $dirname = $this->mXoopsModule->get(
'dirname');
696 foreach ($this->mXoopsModule->adminmenu as $menu) {
697 if (!isset($menu[
'absolute']) || (isset($menu[
'absolute']) &&
true !== $menu[
'absolute'])) {
698 $menu[
'link'] = XOOPS_MODULE_URL .
'/' . $dirname .
'/' . $menu[
'link'];
700 $this->mAdminMenu[] = $menu;