Date and form validation if java is disabled and obligation to hide the text areas to start

Hi, currently my web page has a form on it where it select where there is a date entry and a speaker, and two text boxes where only is visible depending on the results of the verification of availability.

Here is an example of the part of the shape of my page.

Screen+shot+2011-04-06+at+5.32.32+PM.pngScreen shot 2011-04-06 at 5.32.54 PM.pngmy form with spry validation. no date or selected speaker.

I have a few questions.

First of all:

When my page loads first the speaker's text non-reserved area is visible and the speaker is reserved textarea is hidden.  I guess that's because loading my page it refers to my database and nothing is so the speaker is non-reserved textarea is visible and the speaker is the placeholder text is hidden.

How to get two text boxes to hide on start to the top of the page?  Here is my php code to the beginning of the model.

==============

<? php require_once('.. / Connections/conEmjMarketing.php');? >

<? PHP

If (! function_exists ("GetSQLValueString")) {}

function GetSQLValueString ($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")

{

If (via PHP_VERSION < 6) {}

$theValue = get_magic_quotes_gpc()? stripslashes ($TheValue): $theValue;

}


$theValue = function_exists ("mysql_real_escape_string")? mysql_real_escape_string ($TheValue): mysql_escape_string ($theValue);


Switch ($theType) {}

case 'text ':

$theValue = ($theValue! = "")? « " ». $theValue. "" "": "NULL";

break;

case "long":

case "int":

$theValue = ($theValue! = "")? intval ($TheValue): 'NULL ';

break;

case "double":

$theValue = ($theValue! = "")? doubleVal ($TheValue): 'NULL ';

break;

case "date":

$theValue = ($theValue! = "")? « " ». $theValue. "" "": "NULL";

break;

case "set":

$theValue = ($theValue! = "")? $theDefinedValue: $theNotDefinedValue;

break;

}

Return $theValue;

}

}



@mysql_select_db ($database_conEmjMarketing, $conEmjMarketing);

$query_rsCurrEvents = "SELECT speakerRequested, event, place, datebooked, startTime, endTime OF booking ORDER BY datebooked ASC";

$rsCurrEvents = mysql_query ($query_rsCurrEvents, $conEmjMarketing) or die (mysql_error ());

$row_rsCurrEvents = mysql_fetch_assoc ($rsCurrEvents);

$totalRows_rsCurrEvents = mysql_num_rows ($rsCurrEvents);

$query_rsCurrEvents = "SELECT speakerRequested, event, place, datebooked, startTime, endTime OF booking ORDER BY datebooked ASC";

$rsCurrEvents = mysql_query ($query_rsCurrEvents, $conEmjMarketing) or die (mysql_error ());

$row_rsCurrEvents = mysql_fetch_assoc ($rsCurrEvents);

$totalRows_rsCurrEvents = mysql_num_rows ($rsCurrEvents);

$query_rsCurrEvents = "SELECT speakerRequested, event, place, datebooked, startTime, endTime OF booking ORDER BY datebooked ASC";

$rsCurrEvents = mysql_query ($query_rsCurrEvents, $conEmjMarketing) or die (mysql_error ());

$row_rsCurrEvents = mysql_fetch_assoc ($rsCurrEvents);

$totalRows_rsCurrEvents = mysql_num_rows ($rsCurrEvents);



@mysql_select_db ($database_conEmjMarketing, $conEmjMarketing);

$query_rsSpeakers = "SELECT speaker speaker speaker ORDER BY ASC";

$rsSpeakers = mysql_query ($query_rsSpeakers, $conEmjMarketing) or die (mysql_error ());

$row_rsSpeakers = mysql_fetch_assoc ($rsSpeakers);

$totalRows_rsSpeakers = mysql_num_rows ($rsSpeakers);


$colname_rsAvailability = "-1";

If (isset($_POST['speakerRequested'])) {}

$colname_rsAvailability = $_POST ['speakerRequested'];

}

$colname2_rsAvailability = "-1";

If (isset($_POST['datebooked'])) {}

$colname2_rsAvailability = $_POST ['datebooked'];

}

@mysql_select_db ($database_conEmjMarketing, $conEmjMarketing);

$query_rsAvailability = sprintf ("" SELECT speakerRequested, datebooked FROM reservations WHERE speakerRequested as AND bookings.datebooked %s = %s ", GetSQLValueString ('%'.") $colname_rsAvailability. ('%', 'text'), GetSQLValueString ($colname2_rsAvailability, 'date'));

$rsAvailability = mysql_query ($query_rsAvailability, $conEmjMarketing) or die (mysql_error ());

$row_rsAvailability = mysql_fetch_assoc ($rsAvailability);

$totalRows_rsAvailability = mysql_num_rows ($rsAvailability);

======================

The second question:

My form works very well with spry validation.  Validation of date format for the date text box work, validation for the speaker select jobs.  My question is how to validate that the date is a valid date and speaker selection box is not empty if java is disabled?

Where do I put this code? How do I call? How can I show that the field is in error?

Thank you winrol

If you return to the solution I created for the date, you will see that the error messages are displayed by elseif clauses. You must do the same for the message of the speaker.

    Please select a Speaker.    Please select a Speaker.

    Please select a Speaker.

Tags: Dreamweaver

Similar Questions

  • I create a form based on two tables that have sequences also. When I create insert only row is inserted in the fields in table first and second fields of the table are empty. Why?

    Mr President.

    I create a form based on two tables that have sequences also. When I create insert only row is inserted in the fields in table first and second fields of the table are empty. Why?

    formdoubletables.png

    the page source is

    <?xml version='1.0' encoding='UTF-8'?>
    <ui:composition xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:af="http://xmlns.oracle.com/adf/faces/rich"
                    xmlns:f="http://java.sun.com/jsf/core">
      <af:panelFormLayout id="pfl1">
        <af:group id="Group">
          <af:inputText value="#{bindings.VoucherId.inputValue}" label="#{bindings.VoucherId.hints.label}"
                        required="#{bindings.VoucherId.hints.mandatory}" columns="#{bindings.VoucherId.hints.displayWidth}"
                        maximumLength="#{bindings.VoucherId.hints.precision}"
                        shortDesc="#{bindings.VoucherId.hints.tooltip}" id="it1">
            <f:validator binding="#{bindings.VoucherId.validator}"/>
            <af:convertNumber groupingUsed="false" pattern="#{bindings.VoucherId.format}"/>
          </af:inputText>
          <af:inputDate value="#{bindings.VoucherDate.inputValue}" label="#{bindings.VoucherDate.hints.label}"
                        required="#{bindings.VoucherDate.hints.mandatory}"
                        columns="#{bindings.VoucherDate.hints.displayWidth}"
                        shortDesc="#{bindings.VoucherDate.hints.tooltip}" id="id1">
            <f:validator binding="#{bindings.VoucherDate.validator}"/>
            <af:convertDateTime pattern="#{bindings.VoucherDate.format}"/>
          </af:inputDate>
          <af:inputText value="#{bindings.Credit.inputValue}" label="#{bindings.Credit.hints.label}"
                        required="#{bindings.Credit.hints.mandatory}" columns="#{bindings.Credit.hints.displayWidth}"
                        maximumLength="#{bindings.Credit.hints.precision}" shortDesc="#{bindings.Credit.hints.tooltip}"
                        id="it2">
            <f:validator binding="#{bindings.Credit.validator}"/>
          </af:inputText>
        </af:group>
        <af:group id="g1">
          <af:inputText value="#{bindings.Lineitem.inputValue}" label="#{bindings.Lineitem.hints.label}"
                        required="#{bindings.Lineitem.hints.mandatory}" columns="#{bindings.Lineitem.hints.displayWidth}"
                        maximumLength="#{bindings.Lineitem.hints.precision}" shortDesc="#{bindings.Lineitem.hints.tooltip}"
                        id="it3">
            <f:validator binding="#{bindings.Lineitem.validator}"/>
            <af:convertNumber groupingUsed="false" pattern="#{bindings.Lineitem.format}"/>
          </af:inputText>
          <af:inputText value="#{bindings.VoucherId1.inputValue}" label="#{bindings.VoucherId1.hints.label}"
                        required="#{bindings.VoucherId1.hints.mandatory}"
                        columns="#{bindings.VoucherId1.hints.displayWidth}"
                        maximumLength="#{bindings.VoucherId1.hints.precision}"
                        shortDesc="#{bindings.VoucherId1.hints.tooltip}" id="it4">
            <f:validator binding="#{bindings.VoucherId1.validator}"/>
            <af:convertNumber groupingUsed="false" pattern="#{bindings.VoucherId1.format}"/>
          </af:inputText>
          <af:inputText value="#{bindings.Debit.inputValue}" label="#{bindings.Debit.hints.label}"
                        required="#{bindings.Debit.hints.mandatory}" columns="#{bindings.Debit.hints.displayWidth}"
                        maximumLength="#{bindings.Debit.hints.precision}" shortDesc="#{bindings.Debit.hints.tooltip}"
                        id="it5">
            <f:validator binding="#{bindings.Debit.validator}"/>
          </af:inputText>
          <af:inputText value="#{bindings.Credit1.inputValue}" label="#{bindings.Credit1.hints.label}"
                        required="#{bindings.Credit1.hints.mandatory}" columns="#{bindings.Credit1.hints.displayWidth}"
                        maximumLength="#{bindings.Credit1.hints.precision}" shortDesc="#{bindings.Credit1.hints.tooltip}"
                        id="it6">
            <f:validator binding="#{bindings.Credit1.validator}"/>
          </af:inputText>
          <af:inputText value="#{bindings.Particulars.inputValue}" label="#{bindings.Particulars.hints.label}"
                        required="#{bindings.Particulars.hints.mandatory}"
                        columns="#{bindings.Particulars.hints.displayWidth}"
                        maximumLength="#{bindings.Particulars.hints.precision}"
                        shortDesc="#{bindings.Particulars.hints.tooltip}" id="it7">
            <f:validator binding="#{bindings.Particulars.validator}"/>
          </af:inputText>
          <af:inputText value="#{bindings.Amount.inputValue}" label="#{bindings.Amount.hints.label}"
                        required="#{bindings.Amount.hints.mandatory}" columns="#{bindings.Amount.hints.displayWidth}"
                        maximumLength="#{bindings.Amount.hints.precision}" shortDesc="#{bindings.Amount.hints.tooltip}"
                        id="it8">
            <f:validator binding="#{bindings.Amount.validator}"/>
            <af:convertNumber groupingUsed="false" pattern="#{bindings.Amount.format}"/>
          </af:inputText>
        </af:group>
        <f:facet name="footer">
          <af:button text="Submit" id="b1"/>
          <af:button actionListener="#{bindings.CreateInsert.execute}" text="CreateInsert"
                     disabled="#{!bindings.CreateInsert.enabled}" id="b2"/>     
          <af:button actionListener="#{bindings.Commit.execute}" text="Commit" disabled="#{!bindings.Commit.enabled}"
                     id="b3"/>
          <af:button actionListener="#{bindings.Rollback.execute}" text="Rollback" disabled="#{!bindings.Rollback.enabled}"
                     immediate="true" id="b4">
            <af:resetActionListener/>
          </af:button>
        </f:facet>
      </af:panelFormLayout>
    </ui:composition>
    
    
    
    

    Concerning

    Go to your VO Wizard, select the tab of the entity and to check if both the EO is editable or not.

    See you soon

    AJ

  • quickly create with filter-date and initialize it with the current date

    Oracle BI 11 g

    Hello!

    I need to create guest of dashboard with filter-date and initialize it with the current date. How can I do?

    I tried to create the repository initialization block and add a variable. But I don't know what should I write to DataSource? I tried using the Current_Date, Now(), sysdate functions (for example, SELECT Now() FROM tbl_Calendar) but without results - when I pressed the button "Test"... "I have errors - something like 'Now() is unknown function' or 'incorrect syntax near keyword Current_Date.

    After that, I made to use presentation Variable in the command prompt, but also without success (())

    Please, help me.

    Use "Server Variable.

  • Use the project start Date and duration to calculate the end Date of project

    I'm trying to calculate the end date of the project in a report using the project end Date and time entered on the opportunity.
    For example, if the start date of the project filled an opportunity is 31/01/2009 and the length (integer) is entered on the opportunity is 5, the project end date is in the report must be 30/06/2009.

    I'm trying to TIMESTAMPADD forumaul allows you to add the duration (number of months) to the project start date
    This Fx works TIMESTAMPADD (SQL_TSI_MONTH, 12, '-used Custom Attributes ".) DATE_40)
    But if I try to replace the number twelve by the length (integer field) I get an error when you try to save: TIMESTAMPADD (SQL_TSI_MONTH, "-opportunity Custom Metrics".) S_INT_0, '-used custom attributes. DATE_40)

    Any ideas on how I can get this to work would be greatly appreciated.

    Hi, try this. It might solve your prioblem TIMESTAMPADD (SQL_TSI_MONTH, CAST (YOUR FIELD AS INTEGER), account. (' "Last modified")

    -John CRMIT

  • notification area: How can I get my internet connection and the life of the battery and its return in the notification area

    How can I get my internet connection and the life of the battery and its return in the notification area

    on the bottom right of my screen?

    I tried the properties and to add notifications but it net let me add them...

    Hello

    1 Please reboot nothing so interfere with this process.

    Click with the right button on Taskbar - Properties - tab Notification area - check box Volume - if it is grayed out
    Then, use this link. (The battery is the same method.)

    How to enable or disable the system tray in Vista icons (there are several methods
    and you can to use them all).
    http://www.Vistax64.com/tutorials/106787-notification-area-system-icons.html

    If necessary: a Mr Fixit

    System icons do not appear in the notification area in Windows Vista or in Windows 7 until you
    Restart the computer
    http://support.Microsoft.com/default.aspx/KB/945011

    I hope this helps.

    Rob Brown - MS MVP - Windows Desktop Experience: Bike - Mark Twain said it right.

  • I seem to be impossible to add network and volume icons in the notification area. Both are "grayed out" in the Properties tab.

    I seem to be impossible to add network and volume icons in the notification area.  Both are "grayed out" in the Properties tab.

    Hello

    1 Please reboot nothing so interfere with this process.

    Click with the right button on Taskbar - Properties - tab Notification area - check box Volume - if it is grayed out
    Then, use this link. Network is the same.

    How to enable or disable the system tray in Vista icons (there are several methods
    and you can to use them all).
    http://www.Vistax64.com/tutorials/106787-notification-area-system-icons.html

    If necessary: a Mr Fixit

    System icons do not appear in the notification area in Windows Vista or in Windows 7 until you
    Restart the computer
    http://support.Microsoft.com/default.aspx/KB/945011

    I hope this helps.

    Rob Brown - MS MVP - Windows Desktop Experience: Bike - Mark Twain said it right.

  • I have a form in which the text area can be developed to accept more text, but the text does not appear on the printed copy.  How can I get the text to print?

    I have a form in which the text area can be developed to accept more text, but the text does not appear on the printed copy.  How can I get the text to print?

    Hi robinm6200,

    Make sure that you have selected 'Document and annotations' under 'Comments and forms' when printing.

    Kind regards

    Nicos

  • How can I filter the data and display it in the html table?

    Hello

    How do I filter data that contains the database table and already displayed in html table, then when the user write a data to filter or search, it will automatically display the data in html table. ?

    can someone help me to do this? Here is my php code for the table that will display the data:

    <?php
      $servername = "localhost";
      $username = "root";
      $password = "pass";
      $dbname = "ses";
       
       
      // Create connection
      $conn = new mysqli($servername, $username, $password, $dbname);
      // Check connection
      if ($conn->connect_error) {
      die("Connection failed: " . $conn->connect_error);
      }
       
      $sql = "SELECT No, Calon, ID, Jurusan FROM candidates";
    
      $result = $conn->query($sql);
      ?>
    
    <?php
      if ($result->num_rows > 0) {
      echo "<table >
    
      <tr>
      <th>NO</th>
      <th>Candidate</th>
      <th>ID Number</th>
      <th>Programme</th>
      <th>Edit</th>
      <th>Delete</th>
      </tr>";
      // output data of each row
      while($row = $result->fetch_assoc()) {
      echo "<tr>
      <td align='center'>" . $row["No"]. "</td>
      <td>" . $row["Calon"]. "</td>
      <td>" . $row["ID"]. " </td>
      <td>" . $row["Jurusan"]. "</td>
      <td align='center'><a href='main2.php?edit=".$row["No"]."'>Edit</a></td>
      <td align='center'><a href='delete.php?del=".$row["No"]."'>Delete</a></td>
      </tr>";
      }
    
      echo "</table>";
      } else {
      echo "0 results";
      }
      $conn->close();
      ?>
    

    hope someone can help me with this.

    Thank you.

    You must first create a search form for the user to enter a search word:

    Then create a page named search_page.php and insert the following code into it and save it. The code in red below Gets information from the search form field name = "Calon" and the SQL query finds in the "Calon" database field for a game.

    <>

    $servername = "localhost";

    $username = 'root ';

    $password = "pass";

    $dbname = 'his ';

    Create the connection

    $conn = new mysqli ($dbname, $servername, $username, $password);

    Check the connection

    If {($conn-> connect_error)

    Die ("connection failed:".) $conn-> connect_error);

    }

    $Calon = trim($_POST['Calon']);

    $sql = (' SELECT no, Calon, ID, Jurusan candidates WHERE Calon = "'.") $Calon.' » ") ;

    $result = $conn-> Query;

    ?>

    <>

    If ($result-> num_rows > 0) {}

    ECHO '.

    ";

    each line output

    While ($row = {$result-> fetch_assoc())}

    ECHO '.

    ";

    }

    ECHO '.

    NO. Candidate Identification number Program Edit Delete
    " . $row ["no"]. " " . $row ["Calon"]. " " . $row ['ID']. " " . $row ["Jurusan"]. " Edit Delete
    ";

    } else {}

    echo "0 results."

    }

    $conn-> close();

    ?>

  • The data record form field to sql server database. Point me in the right direction

    I have Acrobat XI Pro and you have downloaded the SDK of XI.   At my first form savable.  My goal is to store the data in PDF form fields in a database.

    Can someone point me in the right direction.  I used to do 7-8 years ago, but it seems that the technology has changed and therefore the tools.  Thank you.

    PDF forms are submitted to a URL, still something that HTML forms are subject to a URL. It is an action that put you on a button.

    With HTML forms, you can only apply to HTML. You can also do with the PDF and the back-end can be quite similar except that you not return HTML, because the reader do not understand.

    However, it is normal to choose one of the other formats of FDF or XFDF. These are the same as the formats that you can export as part of the management of the form, and you should get comfortable with before submitting form data export/import.

    There are libraries in order to analyze the FDF. XFDF is XML, if use you standard XML analysis techniques. In a new application, go with XFDF.

  • Date and time display on the workspace

    Is it possible to display the date and time on the workspace window?

    An example of a control that you can add to the workspace to display the date and time on your host PC is attached. I created it by following the instructions on this page. If you want to make any changes or customize it more, this document can help you get started. I based off of decoration - free label template, so that I could completely customize the behavior of the control.

    To use this control, simply copy \National Instruments\NI VeriStand models 2011\Display to .

  • Is function like the function of date and time picker in the ICB 8.5?

    I need the function as "date and time picker control" used in activeX, but my operating system (windows 7 Bits without office software) is not the «Microsoft date controller» and time picker I am looking article in the internet which mention this register the MSComctl2.ocx in the windows\system32, but he could not operator in my operating system (it's not allow to save the controller). Help me, please.

    Already, I discovered that the problem on the service of DTP in the 64-bit Windows 7 could not used. Because, the DTP is 32 bits, it should use the administrator to register the 'mscomct2.ocx file' which must be replace in the % windows/SysWOW64 and used the 'mscomct2.ocx regsvr32.exe"in console windows.

  • Writing EXIF data (and how to define the side of the photo)

    Anyone had luck writing EXIF data in photos? Reading EXIF data are fairly easy, as demonstrated by "photobomber. Writing EXIF data seems to be more painful, however.

    In particular, I'm trying the face value of the photo.  I found mention on the web page of its existence in EXIF, with the code:

    0 x 4746

    That said, when I check the exif - tag.h, apparently not be listed.

    It is clear to me that this is a deal breaker or not.  The tags are listed in the exif - tag.h the only ones that can be used? Or are they simply definitions of convenience tag codes most commonly used?

    Thank you

    Daniel

    Incase others are reading this in the future and ask yourself how: my conclusion is that the best way to define metadata such as:

    -Photo rating

    -Tags

    -Description

    ... does NOT use EXIF.  On the contrary, it seems that XMP is a much better choice:

    http://en.Wikipedia.org/wiki/Extensible_Metadata_Platform

    Ideally, BB10 comes with the XMP library, and it can be easily added to your project. (right-click on the project node in "Project Explorer", go to the context menu item 'Configure', then 'add the library')

    Here's the code I added bo my main.cpp:

    //-----------------------------------------------------------------------------
    // XMP
    //-----------------------------------------------------------------------------
    
    // Must be defined to instantiate template classes
    #define TXMP_STRING_TYPE std::string
    
    // Must be defined to give access to XMPFiles
    #define XMP_INCLUDE_XMPFILES 1
    
    #define UNIX_ENV 1
    
    #include "xmp/XMP.incl_cpp"
    #include "xmp/XMP.hpp"
    
    #include 
    #include 
    
    using namespace std;
    
    //-----------------------------------------------------------------------------
    

    ... and here's what I added to the .h file that I wanted to use XMP in: (it does not include the XMP.incl_cpp at the top of the notice)

    //-----------------------------------------------------------------------------
    // XMP
    //-----------------------------------------------------------------------------
    
    #define TXMP_STRING_TYPE std::string
    #define XMP_INCLUDE_XMPFILES 1
    #define UNIX_ENV 1
    
    #include "xmp/XMP.hpp"
    
    #include 
    #include 
    
    using namespace std;
    
    //-----------------------------------------------------------------------------
    

    And finally, here's a big copy and paste part of the key code that I adapted to the code example in the XMP SDK I downloaded separately for read/write some common tags.  Feel free to use this code in your own applications, or to adapt it, if that's helpful.

    int ImageViewContainer::xmpWrite()
    {
        qDebug() << "xmpWrite()";
    
        string filename = file.toStdString();
    
        if (!SXMPMeta::Initialize())
        {
            qDebug() << "XMP: An error occurred initializing XMP.";
            return -1;
        }
    
        XMP_OptionBits options = 0;
    
        #if UNIX_ENV
            options |= kXMPFiles_ServerMode;
        #endif
    
        if (!SXMPFiles::Initialize(options))
        {
            qDebug() << "XMP: An error occurred initializing SXMPFiles.";
            return -1;
        }
    
        try
        {
            // Try using the smart handler.
            XMP_OptionBits opts = kXMPFiles_OpenForUpdate | kXMPFiles_OpenUseSmartHandler;
    
            bool ok;
            SXMPFiles myFile;
    
            // Open the file.
            ok = myFile.OpenFile(filename, kXMP_UnknownFile, opts);
            if (!ok)
            {
                qDebug() << "XMP: No smart handler available for " + file + ". Trying packet scanning.";
    
                // Now try using packet scanning.
                opts = kXMPFiles_OpenForUpdate | kXMPFiles_OpenUsePacketScanning;
                ok = myFile.OpenFile(filename, kXMP_UnknownFile, opts);
            }
    
            // If the file is open then read the metadata.
            if (ok)
            {
                qDebug() << "XMP: Opened: " << file;
    
                // Create the xmp object and get the xmp data.
                SXMPMeta meta;
                myFile.GetXMP(&meta);
    
                // Should we be doing this?
                meta.SetProperty(kXMP_NS_XMP, "CreatorTool", "Updated by PhotoStar", 0);
    
                int ratingToSet = rating;
                if (ratingToSet == -1) { ratingToSet = 0; }
                meta.SetProperty(kXMP_NS_XMP, "Rating", QString::number(ratingToSet).toStdString(), 0);
    
                // Required before we can call other functions that refer to this namespace
                // without getting an exception.
                std::string tmp;
                meta.RegisterNamespace("http://ns.microsoft.com/photo/1.0/", "MicrosoftPhoto", &tmp);
    
                if (ratingToSet == -1)
                {
                    meta.DeleteProperty("http://ns.microsoft.com/photo/1.0/", "Rating");
                }
                else
                {
                    int microsoftRating;
    
                    // Mapping:
                    // xmp:Rating=1 -> MicrosoftPhoto:Rating=1
                    // xmp:Rating=2 -> MicrosoftPhoto:Rating=25
                    // xmp:Rating=3 -> MicrosoftPhoto:Rating=50
                    // xmp:Rating=4 -> MicrosoftPhoto:Rating=75
                    // xmp:Rating=5 -> MicrosoftPhoto:Rating=100
    
                    if (ratingToSet == 1)
                    {
                        microsoftRating = 1;
                    }
                    else
                    {
                        microsoftRating = (ratingToSet - 1) * 25;
                    }
    
                    qDebug() << "MicrosoftPhoto:Rating: " << QString::number(microsoftRating);
                    meta.SetProperty("http://ns.microsoft.com/photo/1.0/", "Rating", QString::number(microsoftRating).toStdString(), 0);
                }
    
                // Delete old tags. (?)
                meta.DeleteProperty(kXMP_NS_DC, "subject");
    
                // Tags
                for (int i = 0; i < tags.size(); ++i)
                {
                    string value = tags[i].toStdString();
                    meta.AppendArrayItem(kXMP_NS_DC, "subject", kXMP_PropArrayIsOrdered, value, 0);
                    //meta.SetArrayItem(kXMP_NS_DC, "subject", i + 1, value, 0);
                }
    
                meta.SetLocalizedText(kXMP_NS_XMP, "Description", "en", "en-US", description.toStdString(), NULL);
    
                // Update the Metadata Date
                XMP_DateTime updatedTime;
    
                // Get the current time. This is a UTC time automatically adjusted for the local time.
                SXMPUtils::CurrentDateTime(&updatedTime);
                //if (meta.DoesPropertyExist(kXMP_NS_XMP, "MetadataDate"))
                //{
                    meta.SetProperty_Date(kXMP_NS_XMP, "MetadataDate", updatedTime, 0);
                //}
    
                // Now update alt-text properties
                //meta.SetLocalizedText(kXMP_NS_DC, "title", "en", "en-US", "Kind of pretty");
    
                // For debugging
                if (false)
                {
                    // Serialize the packet and write the buffer to a file.
                    // Let the padding be computed and use the default linefeed and indents without limits.
                    string metaBuffer;
                    meta.SerializeToBuffer(&metaBuffer, 0, 0, "", "", 0);
    
                    //qDebug() << QString::fromStdString(metaBuffer);
    
                    // Write the packet to a file as RDF
                    writeRDFToFile(&metaBuffer, filename + "_XMP_RDF.txt");
                }
    
                // Check we can put the XMP packet back into the file.
                if (myFile.CanPutXMP(meta))
                {
                    // If so then update the file with the modified XMP.
                    myFile.PutXMP(meta);
                }
                else
                {
                    // Silent for now. TODO: Should this be indicated in
                    // the UI somehow?
                    qDebug() << "XMP: Can't write to file.";
                }
    
                // Close the SXMPFile. This *must* be called. The XMP is not actually written and the
                // disk file is not closed until this call is made.
                myFile.CloseFile();
            }
            else
            {
                qDebug() << "XMP: Unable to open " << file;
            }
        }
        catch(XMP_Error & e)
        {
            qDebug() << "XMP ERROR: " << QString::fromStdString(e.GetErrMsg());
        }
    
        // Terminate the toolkit
        SXMPFiles::Terminate();
        SXMPMeta::Terminate();
    
        return 0;
    }
    
    int ImageViewContainer::xmpRead()
    {
        qDebug() << "xmpRead()";
    
        string filename = file.toStdString();
    
        if (!SXMPMeta::Initialize())
        {
            qDebug() << "XMP: An error occurred initializing XMP.";
            return -1;
        }
    
        XMP_OptionBits options = 0;
    
        #if UNIX_ENV
            options |= kXMPFiles_ServerMode;
        #endif
    
        if (!SXMPFiles::Initialize(options))
        {
            qDebug() << "XMP: An error occurred initializing SXMPFiles.";
            return -1;
        }
    
        try
        {
            // Try using the smart handler.
            XMP_OptionBits opts = kXMPFiles_OpenForRead | kXMPFiles_OpenUseSmartHandler;
    
            bool ok;
            SXMPFiles myFile;
    
            // Open the file.
            ok = myFile.OpenFile(filename, kXMP_UnknownFile, opts);
            if (!ok)
            {
                qDebug() << "XMP: No smart handler available for " + file + ". Trying packet scanning.";
    
                // Now try using packet scanning.
                opts = kXMPFiles_OpenForUpdate | kXMPFiles_OpenUsePacketScanning;
                ok = myFile.OpenFile(filename, kXMP_UnknownFile, opts);
            }
    
            // If the file is open then read the metadata.
            if (ok)
            {
                qDebug() << "XMP: Opened: " << file;
    
                // Create the xmp object and get the xmp data.
                SXMPMeta meta;
                myFile.GetXMP(&meta);
    
                bool exists;
    
                // Stores the value for the property.
                string value;
    
                // XMP Rating
                exists = meta.GetProperty(kXMP_NS_XMP, "Rating", &value, NULL);
                if (exists)
                {
                    rating = QString::fromStdString(value).toInt(&ok);
                    if (!ok)
                    {
                        rating = -1;
                    }
                }
                else
                {
                    rating = -1;
                }
    
                // Microsoft Rating (only look for this if xmp:Rating is missing)
                if (rating == -1)
                {
                    // Required before we can call other functions that refer to this namespace
                    // without getting an exception.
                    std::string tmp;
                    meta.RegisterNamespace("http://ns.microsoft.com/photo/1.0/", "MicrosoftPhoto", &tmp);
    
                    exists = meta.GetProperty("http://ns.microsoft.com/photo/1.0/", "MicrosoftPhoto:Rating", &value, NULL);
                    //exists = meta.GetProperty(kXMP_NS_XMP, "Rating", &value, NULL);
                    if (exists)
                    {
                        rating = QString::fromStdString(value).toInt(&ok);
                        if (!ok)
                        {
                            rating = -1;
                        }
                        else
                        {
                            // The Microsoft rating is 0, 25, 50, 75, 100.
                            rating /= 25;
                        }
                    }
                    else
                    {
                        rating = -1;
                    }
                }
    
                value.clear();
    
                qDebug() << "XMP Rating: " << rating;
    
                // Tags
                tags.clear();
                int arraySize = meta.CountArrayItems(kXMP_NS_DC, "subject");
                for (int i = 1; i <= arraySize; i++)
                {
                    meta.GetArrayItem(kXMP_NS_DC, "subject", i, &value, 0);
                    qDebug() << "XMP Tag[" << i << "]: " << QString::fromStdString(value);
                    tags.append(QString::fromStdString(value));
                }
    
                value.clear();
    
                // Description
                meta.GetLocalizedText(kXMP_NS_XMP, "Description", "en", "en-US", NULL, &value, NULL);
                description = QString::fromStdString(value);
                qDebug() << "XMP Description: " << description;
    
                timestamp = QDateTime();
                XMP_DateTime updatedTime;
                // Get the current time. This is a UTC time automatically adjusted for the local time.
                SXMPUtils::CurrentDateTime(&updatedTime);
                if (meta.DoesPropertyExist(kXMP_NS_XMP, "MetadataDate"))
                {
                    meta.GetProperty_Date(kXMP_NS_XMP, "MetadataDate", &updatedTime, 0);
                    if (updatedTime.hasDate)
                    {
                        if (updatedTime.hasTime)
                        {
                            timestamp = QDateTime(QDate(updatedTime.year, updatedTime.month, updatedTime.day), QTime(updatedTime.hour, updatedTime.minute, updatedTime.second));
                        }
                        else
                        {
                            timestamp = QDateTime(QDate(updatedTime.year, updatedTime.month, updatedTime.day), QTime(0, 0, 0));
                        }
                    }
                }
    
                // Close the SXMPFile. The resource file is already closed if it was
                // opened as read only but this call must still be made.
                myFile.CloseFile();
            }
            else
            {
                qDebug() << "XMP: Unable to open " << file;
            }
        }
        catch(XMP_Error & e)
        {
            qDebug() << "XMP ERROR: " << QString::fromStdString(e.GetErrMsg());
        }
    
        // Terminate the toolkit
        SXMPFiles::Terminate();
        SXMPMeta::Terminate();
    
        return 0;
    }
    

    Note that the code above makes use of some class member variables:

        int rating;
        QList tags;
        QString description;
        QDateTime timestamp;
    

    One final note: there is a code that deals with the MicrosoftPhoto:Rating XMP tag. It's because I'm on Windows and I noticed that if you click on a photo in Windows Explorer, it allows you to display/change some meta (such as star ratings) data directly in Explorer. When you do so, it sets the MicrosoftPhoto:Rating tag (as well as the tag xmp:Rating, I believe). Once, he put that, if your application updates the xmp:Rating tag but don't update the MicrosoftPhoto:Rating tag and the file returns on Windows, then he continues to use the old notation before your update app. (he seems to ignore xmp:Rating if MicrosoftPhoto:Rating is present)

  • Win 7 Home Premium: Why systyem date and time could skip the 01/01/2000

    Hello

    Today I start my Win 7 PC to hibernation and discovered that the system clock was jump back 20:20 15/08/2012-08:05 01/01/2000.

    I rebbot PC back the date still stay to 01/01/2000.

    Can I know the causes of this p [problem and how to avoid that happening again in the future?

    Thank you

    Low

    Means generally that the battery cmos on the motherboard failed.

    When you start Access Bios, usually by tapping the Btn Del, then reset the date and time, save & exit. Then see if it sticks

  • Can restore the computer to an earlier date and now get on the desktop.

    I went to use the computer yesterday and it updated. HP laptop with windows 8.1. Then it says update failed. Today I tried to restore to a different date and it failed. Today, I tried again and came back a month. I only have windows 8 and mechanic system on it. I use to connect remotely to work. Now, when I restart it goes to a system recovery option and I have no date to select.  He asks for recovery disk, but I did not. What are my options

    I had a similar problem. I updated my computer to windows vista 7 and wanted to go back but could not not because vista wasn't a registered earlier version. Then I accidentally deleted my slui and rundll.exe and couldn't get them back because there was no previous version. Given that I have not configured a backup, I couldn't restore the computer to its previous versions or any folder.

    The only way for you to restore is if you had implemented a backup and took the opportunity to finish the backup. The backup must be on an external drive, because when you configure a backup for PC, it requires an external backup. In my case, no backup copy has been implemented. If you remember where the backup was the installation, it is what she wants.

    Since you say that there is no recovery disk, I would contact with via phone, Microsoft to see if you can return to windows 8, 8.1 No.

    As an alternative, if you look at the underside of your laptop, or on the side of your PC, you will find the product code.

    Go to http://windows.microsoft.com/en-us/windows-8/upgrade-product-key-only here.

    Download the version of windows you had when the program is in place, insert the product key and just follow the instructions the site to make you say

  • Display the date and time, but hide seconds

    In grid mode, I like to have the date and time indicated on each slide, but I find that see the seconds, a distraction.

    Anyone know of a way to display hours and minutes but NOT seconds?

    Thank you

    No option, unless you want to stick the tape on the seconds on your screen

Maybe you are looking for