Author Topic: Install Problem: Class 'html_inputfield' not found  (Read 10109 times)

Offline crusher

  • Jr. Member
  • **
  • Posts: 24
    • http://crusher.untergrund.net
Install Problem: Class 'html_inputfield' not found
« on: July 08, 2008, 03:09:06 PM »
Hi there,

When trying to install RC 0.2a on OpenSuse 10.3 with PHP 5.2.6, I got this error on step 2:

Fatal error: Class 'html_inputfield' not found in /usr/share/psa-horde/installer/config.php on line 74

I don't know what this means. RC 0.1.1 was running fine whithout problems.

Does anyone have an idea what could be wrong?

kind regards
crusher

Offline bpat1434

  • Administrator
  • Hero Member
  • *****
  • Posts: 673
Install Problem: Class 'html_inputfield' not found
« Reply #1 on: July 10, 2008, 08:59:27 AM »
You're using horde :p

I'm guessing that there's an include to rcube_html.php or rcube_template.php that's missing from the installer.
 
  

Offline crusher

  • Jr. Member
  • **
  • Posts: 24
    • http://crusher.untergrund.net
Install Problem: Class 'html_inputfield' not found
« Reply #2 on: July 10, 2008, 11:41:33 AM »
Horde is installed by default, that's right. But I want to use RC instead because I like it much more.

Because I'm on Plesk 8.4.0, I cleaned the directory and copied RC-files inside it (Apache directive from psa-horde dir to webmail.domain.tld).
That does work without problems on my old configuration.

Quote from: bpat1434
I'm guessing that there's an include to rcube_html.php or rcube_template.php that's missing from the installer.

Hmm...indeed I don't have rcube_html.php in /program/include only rcube_html_page.php.
rcube_template.php exists.

Why doesn't the file exist? corrupt tar.gz I downloaded?
« Last Edit: July 10, 2008, 12:38:26 PM by crusher »

Offline bpat1434

  • Administrator
  • Hero Member
  • *****
  • Posts: 673
Install Problem: Class 'html_inputfield' not found
« Reply #3 on: July 10, 2008, 12:57:48 PM »
I'm not 100% sure of the file names.  I'm at school and can't look right now.  So they were best guesses.  Open up rcube_html_page and see if there's a line in there that looks like:
class html_inputfield

If not, then open up the template one and look in there for it.  If it's not there, then there is a file missing somehwere.

Okay, it's in /program/include/html.php.  It looks like your auto-loader isn't working for whatever reason.  Are you using php5?  If nothing else, you can edit installer/index.php to manually include 'html.php' if you want.
 
  

Offline crusher

  • Jr. Member
  • **
  • Posts: 24
    • http://crusher.untergrund.net
Install Problem: Class 'html_inputfield' not found
« Reply #4 on: July 10, 2008, 01:52:52 PM »
...strange! yes I'm using PHP 5.2.6.

I think you mean this function:

function __autoload($classname)
{
  $filename = preg_replace(
      array('/MDB2_(.+)/', '/Mail_(.+)/', '/^html_.+/', '/^utf8$/'),
      array('MDB2/\\1', 'Mail/\\1', 'html', 'utf8.class'),
      $classname
  );
  @include_once $filename. '.php';
}

what to add/replace there? sorry I'm not that good in PHP coding

2 other questions:

- is it sufficient to copy MDB2.php and lib/imap.inc to pear installation directory (RC saying it's not available) or does it have to be correctly installed
- what db backend is better to use? DB or MDB2?

Offline bpat1434

  • Administrator
  • Hero Member
  • *****
  • Posts: 673
Install Problem: Class 'html_inputfield' not found
« Reply #5 on: July 10, 2008, 02:16:47 PM »
You have to actually install teh pear modules.  MDB2.php is not the same as the pear module from pear.php.net.  It's just an interface for RC to use.  Same thing with imap.inc.  It's not the IMAP library from pear.  It's an interface for RC to interact with the IMAP class from pear.

Yeah, that function is what I was talking about.  You could always make it like this:
$myDebug = array();
function 
__autoload($classname)
{
    global 
$myDebug;
    
$filename preg_replace(
        array(
'/MDB2_(.+)/''/Mail_(.+)/''/^html_.+/''/^utf8$/'),
        array(
'MDB2/\\1''Mail/\\1''html''utf8.class'),
    
$classname
    
);
    
$myDebug[] = 'Including: ' $filename '.php';
    @include_once 
$filename'.php';
}

Then, somewhere in index.php toward the bottom after al is said and done with, just add:
var_dump($myDebug);
Then on the page, you'll have a listing like (not with these exact contents):
Code: [Select]
Array (
    [0] => 'MDB2/somefile.php',
    [1] => 'html.php',
    [2] => 'rcube_template.php'
)
 
  

Offline crusher

  • Jr. Member
  • **
  • Posts: 24
    • http://crusher.untergrund.net
Install Problem: Class 'html_inputfield' not found
« Reply #6 on: July 10, 2008, 03:36:41 PM »
OK, I understand.
pear was not installed on the server expect for psa-pear.
so I did that. I also installed MDB2 package and MDB2 database driver for mysql.
even after restarting the server, RC doesn't recognize it :(

pear list-all says:

Quote
All packages [Channel pear.php.net]:
====================================
Package                  Latest  Local
pear/Benchmark           1.2.7          Framework to benchmark PHP scripts or fu                                                                                             nction calls.
pear/Config              1.10.11        Your configuration's swiss-army knife.
pear/Gtk_VarDump         1.0.0          A simple GUI to example php data trees
pear/Gtk_ScrollingLabel  1.0.0          A scrolling label for PHP-Gtk
pear/Gtk_FileDrop        1.0.2          Make Gtk widgets accept file drops
pear/Gtk_Styled          1.0.0          PHP-GTK pseudo-widgets that mimic GtkDat                                                                                             a based objects and allow the look and feel to be controlled by the programmer.
pear/Log                 1.11.0         Logging Framework
pear/Numbers_Roman       1.0.2          Provides methods for converting to and f                                                                                             rom Roman Numerals.
pear/Numbers_Words       0.15.0         The PEAR Numbers_Words package provides                                                                                              methods for spelling numerals in words.
pear/FSM                 1.3.0          Finite State Machine
pear/QA_Peardoc_Coverage 1.1.1          PEAR documentation coverage analysis.
pear/Science_Chemistry   1.1.0          Classes to manipulate chemical objects:                                                                                              atoms, molecules, etc.
pear/Services_Akismet                   Services_Akismet is a package to use Aki                                                                                             smet spam-filtering from PHP
pear/Stream_SHM          1.0.0          Shared Memory Stream
pear/Stream_Var          1.0.0          Allows stream based access to any variab                                                                                             le.
pear/VersionControl_SVN  0.3.1          Simple OO wrapper interface for the Subv                                                                                             ersion command-line client.
pear/Console_Getopt              1.2.3  Command-line option parser
pear/Archive_Tar                 1.3.2  Tar file management class
pear/Structures_Graph            1.0.2  Graph datastructure manipulation library
pear/PEAR                        1.7.1  PEAR Base System
pear/DB                          1.7.12 Database Abstraction Layer
pear/MDB2                        2.4.1  database abstraction layer
pear/MDB2_Driver_mysql           1.4.1  mysql MDB2 driver

how to install imap.inc?

after I got both MDB2 and imap.inc problem fixed I'll do your debug-thing if it didn't want to work neither.

Update:
include path for pear seems to be correct in php.ini:

Quote
include_path = ".:.:/usr/share/php5:/usr/share/php5/PEAR"

I have plenty of files in there that looks like they are the pear ones:

Quote
Archive    DB          doc       MDB2      PEAR         .registry
.channels  DB.php      .filemap  MDB2.php  pearcmd.php  Structures
Console    .depdb      .lock     Net       PEAR.php     System.php
data       .depdblock  Mail      OS        peclcmd.php  test

I think the problem is, that psa-pear directory is checked first (and only).
I will try to copy files from /usr/share/php5/PEAR into psa-pear directory.

remains the problem how to install iilConnection. I can't find a pear module for that.
what do I have to install?
« Last Edit: July 11, 2008, 04:14:35 AM by crusher »

Offline crusher

  • Jr. Member
  • **
  • Posts: 24
    • http://crusher.untergrund.net
Install Problem: Class 'html_inputfield' not found
« Reply #7 on: July 11, 2008, 05:36:21 PM »
I'm one step before success.
I installed RC in a different place that has nothing to do with plesk. RC 0.2a doesn't recognize MDB2 any further. But that doesn't matter as I can use DB instead. RC 0.1.1 says MDB2 is OK.

Also I don't get this error message with class html_inputfield any more.

But now I get

Quote
Trying to send email...
SMTP send:  NOT OK(Authentication failure: SMTP server does not support authentication (Code: ))


while testing configuration.

Any ideas anyone?

Offline bpat1434

  • Administrator
  • Hero Member
  • *****
  • Posts: 673
Install Problem: Class 'html_inputfield' not found
« Reply #8 on: July 12, 2008, 12:17:32 AM »
That just means that the SMTP server you're using does not support authentication.  Try removing the username and password from the SMTP values in main.inc.php.

I notice that you have in your pear list "pear/MDB2", not sure but it could be an extra path in there that you need to account for.  My "pear list" just shows "MDB2" with no "pear/" in front of it.

I also think psa-pear is not the right "pear"... I could be wrong, but I do't think it's exactly the same :(

The iilConnection class is just a php class, not part of PEAR.  RoundCube comes with it already.
 
  

Offline crusher

  • Jr. Member
  • **
  • Posts: 24
    • http://crusher.untergrund.net
Install Problem: Class 'html_inputfield' not found
« Reply #9 on: July 12, 2008, 05:27:13 AM »
Thanks a lot bpat1434, it's working now! :D

Do I have any disadvantages due to taking out %u and %p parameters?
Does it have something to do with SMTP-Auth? Because that is turned on in my Qmail.

I also don't thing pear and psa-pear is identical but that's not a RC issue but a OpenSuse 10.3 <-> Plesk one. I think I can manage this on my own.

Should I focus on getting MDB2 to work or is DB good as well?

RoundCube: looks great + great support = best webmail client I know!!! O0

Offline bpat1434

  • Administrator
  • Hero Member
  • *****
  • Posts: 673
Install Problem: Class 'html_inputfield' not found
« Reply #10 on: July 15, 2008, 07:06:38 AM »
Removing %u and %p means that mail will not be saved to that specific user that's sending.  It's a bug in Qmail and there's nothing you can do about it.  Trac (the bug tracker that RoundCube uses) also has this problem and it's written in Python.  So yeah... not sure what the issue is.  It's something to do with Plesks implementation of Qmail.

You can remove psa-pear and use real pear instead.  I've disabled a couple PSA-?? modules on my server and am using the real ones instead (spam assassin, qmail scanner, maildrop, pear).  But that's another cup of tea.

MDB2 you probably should try to get working.  DB is old, and MDB2 is the newer version of it.
 
  

Offline crusher

  • Jr. Member
  • **
  • Posts: 24
    • http://crusher.untergrund.net
Install Problem: Class 'html_inputfield' not found
« Reply #11 on: July 18, 2008, 07:29:08 AM »
Quote from: bpat1434;12896
Removing %u and %p means that mail will not be saved to that specific user that's sending.  It's a bug in Qmail and there's nothing you can do about it.  Trac (the bug tracker that RoundCube uses) also has this problem and it's written in Python.  So yeah... not sure what the issue is.  It's something to do with Plesks implementation of Qmail.


Hmm that's strange. Because on my old config (OpenSuse 10.1 + Plesk 8.4.0 + Qmail) that worked perfectly. Now under OpenSuse 10.3 + Plesk 8.4.0 + Qmail it doesn't. But I don't matter as it works by removing %u and %p.

Quote from: bpat1434;12896
You can remove psa-pear and use real pear instead.  I've disabled a couple PSA-?? modules on my server and am using the real ones instead (spam assassin, qmail scanner, maildrop, pear).  But that's another cup of tea.


I've done so.
It was also a problem of open_base_dir for webmail.domain.tld directive in /etc/apache2/conf.d/zz010_psa_httpd.conf. I changed it not to use the psa-horde dir but an own dir for roundcube and removed the open_base_dir. Now real Pear was detected and used properly.

Quote from: bpat1434;12896
MDB2 you probably should try to get working.  DB is old, and MDB2 is the newer version of it.


That's working also now :)

Thanks again for your help. Thread can be moved into Resolved O0