$v ): $return .= << IPSCONTENT; foreach ( $hiddenValues as $k => $v ): $return .= << IPSCONTENT; endforeach; $return .= <<html()} IPSCONTENT; endforeach; $return .= <<
IPSCONTENT; $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'saving', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) ); $return .= <<

IPSCONTENT; $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'admin_notes_last_update', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) ); $return .= << IPSCONTENT; if ( $lastUpdated ): $return .= <<language()->addToStack( htmlspecialchars( 'never', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) ); $return .= <<

IPSCONTENT; endif; $return .= <<
    • IPSCONTENT; $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'select_rows', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) ); $return .= <<
  • IPSCONTENT; if ( $quickSearch !== NULL or $table->advancedSearch ): $return .= << IPSCONTENT; if ( $quickSearch !== NULL ): $return .= << IPSCONTENT; endif; $return .= <<advancedSearch ): $return .= << '1', 'filter' => $table->filter, 'sortby' => $table->sortBy, 'sortdirection' => $table->sortDirection ) ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE ); $return .= <<
    IPSCONTENT; endif; $return .= << IPSCONTENT; endif; $return .= << IPSCONTENT; endif; $return .= <<{$table->extraHtml}
    IPSCONTENT; foreach ( $headers as $k => $header ): $return .= <<sortBy, mb_strrpos( $table->sortBy, ',' ) + 1 ) ) : $table->sortBy ) ): $return .= <<sortDirection == 'asc' ): $return .= <<classes ) ): $return .= <<classes[ $header ], ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE ); $return .= <<noSort ) ): $return .= <<sortBy AND $header == ( mb_strrpos( $table->sortBy, ',' ) !== FALSE ? trim( mb_substr( $table->sortBy, mb_strrpos( $table->sortBy, ',' ) + 1 ) ) : $table->sortBy ) ): $return .= <<widths[ $header ] ) ): $return .= << IPSCONTENT; if ( !\in_array( $header, $table->noSort ) ): $return .= <<sortBy and $table->sortDirection == 'desc' ): $return .= << $table->filter, 'sortby' => $header, 'sortdirection' => 'asc' ) ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE ); $return .= << IPSCONTENT; else: $return .= << $table->filter, 'sortby' => $header, 'sortdirection' => 'desc' ) ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE ); $return .= << IPSCONTENT; endif; $return .= <<language()->addToStack( htmlspecialchars( $val, ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) ); $return .= << IPSCONTENT; else: $return .= <<language()->addToStack( htmlspecialchars( $val, ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) ); $return .= << IPSCONTENT; else: $return .= <<  IPSCONTENT; endif; $return .= <<  IPSCONTENT; $return .= $table->rowsTemplate[0]->{$table->rowsTemplate[1]}( $table, $headers, $rows ); $return .= <<
    IPSCONTENT; $return .= \IPS\Theme::i()->getTemplate( "global", "core", 'global' )->pagination( $table->baseUrl, $table->pages, $table->page, $table->limit ); $return .= <<
    IPSCONTENT; return $return; } function fileTableRows( $table, $headers, $rows ) { $return = ''; $return .= <<
    IPSCONTENT; $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'no_results', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) ); $return .= <<rootButtons['add'] ) ): $return .= <<rootButtons['add']['link'] ) ): $return .= <<language()->addToStack( htmlspecialchars( $val, ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) ); $return .= <<rootButtons['add']['class'], ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE ); $return .= <<rootButtons['add']['data'] ) ): $return .= <<rootButtons['add']['data'] as $k => $v ): $return .= <<rootButtons['add']['hotkey'] ) ): $return .= << IPSCONTENT; $val = "{$table->rootButtons['add']['title']}"; $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( $val, ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) ); $return .= << IPSCONTENT; endif; $return .= << IPSCONTENT; else: $return .= << IPSCONTENT; foreach ( $r as $k => $v ): $return .= <<rowClasses[ $k ] ) ): $return .= <<rowClasses[ $k ] ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE ); $return .= <<mainColumn && $k !== '_buttons' && $k !== 'photo' ): $return .= <<langPrefix}{$k}"; $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( $val, ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) ); $return .= << IPSCONTENT; if ( $k === '_buttons' ): $return .= <<getTemplate( "global", "core" )->controlStrip( $v ); $return .= << IPSCONTENT; endif; $return .= <<hasAcpRestriction( 'core', 'overview', 'files_delete' ) ): $return .= << IPSCONTENT; endif; $return .= << IPSCONTENT; endforeach; $return .= <<
    IPSCONTENT; endif; $return .= <<
    IPSCONTENT; if ( \IPS\Application::appIsEnabled( 'nexus' ) ): $return .= <<
    IPSCONTENT; endif; $return .= << IPSCONTENT; return $return; } function onboardForm( $id, $action, $tabs, $hiddenValues, $actionButtons, $uploadField, $class='', $attributes=array(), $sidebar=NULL, $form=NULL, $errorTabs=array() ) { $return = ''; $return .= <<
    $v ): $return .= << IPSCONTENT; foreach ( $hiddenValues as $k => $v ): $return .= << IPSCONTENT; endforeach; $return .= << IPSCONTENT; endif; $return .= << IPSCONTENT; endif; $return .= <<error ): $return .= << IPSCONTENT; $return .= \IPS\Theme\Template::htmlspecialchars( $form->error, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE ); $return .= << IPSCONTENT; endif; $return .= << IPSCONTENT; $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'tab_error', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) ); $return .= << IPSCONTENT; endif; $return .= << $collection ): $return .= <<

    IPSCONTENT; if ( \in_array( $name, $errorTabs ) ): $return .= << IPSCONTENT; endif; $return .= <<language()->addToStack( htmlspecialchars( $val, ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) ); $return .= <<
    IPSCONTENT; $key = str_replace( 'onboard_tab_', '', $name ); $return .= <<

    IPSCONTENT; $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'onboard_what_are_these', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) ); $return .= <<

    IPSCONTENT; $val = "onboard_msg_$key"; $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( $val, ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) ); $return .= <<

    IPSCONTENT; $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'onboard_where_are_these', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) ); $return .= <<

    IPSCONTENT; $val = "onboard_location_$key"; $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( $val, ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) ); $return .= <<

      IPSCONTENT; foreach ( $collection as $input ): $return .= <<rowHtml( $form )} IPSCONTENT; endif; $return .= <<
    IPSCONTENT; $count++; $return .= << IPSCONTENT; $return .= implode( '', $actionButtons); $return .= << IPSCONTENT; return $return; } function onboardWelcome( ) { $return = ''; $return .= <<

    IPSCONTENT; $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'onboard_pagetitle', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) ); $return .= <<

    IPSCONTENT; $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'onboard_subtitle', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) ); $return .= <<

    IPSCONTENT; return $return; } function onlineAdmins( $admins ) { $return = ''; $return .= <<